python之路-操作系统
1.网络基础相关:
离线状态下: mac地址.
插入网线时: 路由器,交换机,DHCP,IP,子网掩码,网关.
访问:
域名/域名解析
- 内网: arp协议 + 广播 + 单播(广播风暴)
- 外网: 网关
创业:
- 租服务器(公有云/私有云/docker) / 租空间.
- 租域名 + 域名解析
- 写代码,然后上传到服务器,运行.
2. socket
- TCP和UDP
- socket
- socketserver + 多线程
- 黏包
3. 端口,是什么? 为什么要有?
端口是为了同一个电脑上的不同程序进行隔离.
IP是找电脑.
端口是找电脑上的程序.
示例:
MSQL是一个软件,软件帮助我们在硬盘上进行文件操作. 默认端口: 3306
Redis是一个软件,软件帮助我们在内存里进行数据操作. 默认端口: 6379
网站默认端口: 80 , 访问时: http://www.luffycity.com : 80
网站默认端口: 443 , 访问时: http://www.luffycity.com : 443
范围:
1 - 65535
1 - 1024
一般情况下: 8000 8001 ....
4. OSI 7层模型
7层:
自己写的代码: 自己代码 + 框架
应用层, 使用软件. 打开软件或网站
表示层, 看到数据,如图片和视频. 生产数据:szwwd
会话层, 保持登录或链接状态. 应用偷偷携带一点其他数据: 令牌 sdf1231df24
socket模块:
传输层,TCP/UDP [TCP][szwwd|sdf1231df24]
网络层,IP [ IP ] [ [TCP] [szwwd|sdf1231df24]]
数据链路层,MAC [MAC][ [IP][szwwd|sdf1231df24 ]]
物理层,将数据转换成电信号发送.
5层:
应用层
应用层 表示层
会话层
传输层
网络层
数据链路层
物理层
4层:
应用层
应用层 表示层
会话层
传输层
网络层
物理层 数据链路层
物理层
5. TCP三次握手/四次挥手
socket客户端向服务端发起连接请求: 三次握手
client.connect((....))
客户端 服务端
例: 我能打你吗
来呀来呀
好的,我这就来
--------------------------------------------
client.send('发送数据')
收发数据 收发数据
客户端和服务端断开连接 : 四次挥手
client.close() 或 conn.close()
------------------------------------------
我要断开连接
断开就断开,等我处理一些手头的事情
....我处理完了,断开吧.
拜拜
补充: 断开连接时, 反应到代码上 : 抛出异常/发送空内容.
重点总结:
1. 端口
2. OSI 7层模型
3. TCP 三次握手/四次握手
4. FTP
- 进度条
- 文件大小
- 断点续传
- CODE
- 自定义规范 : {'code':1000}
- 反射
- 其他:
- 删除文件/修改文件.