一、URL请求流程
- 记录每一个节点的时间消耗
- 优化较长的时间的节点
- Redirect判断浏览器是否重定向
- 查看缓存
- 查找域名对应的IP地址,叫DNS解析
- 通过IP创建TCP链接
- 发送http请求的数据包
- 返回响应的数据包
二、网络模型
- 五层网络模型
- 物理层、数据链路层、网络层、传输层、应用层
- http协议在应用层上的实现
- http协议基于传输层的TCP协议
- http、FTP、email服务都是基于TCP协议实现
三、低三层
- 物理层主要作用是定义物理设备如何传输数据
- 描述电脑如何连接网络、网卡、端口、网线、光纤
- 数据链路层在通信的实体间建立数据链路连接
- 网络服务、电路设备物理连接
- 网络层为数据在节点之间传输创建逻辑链路
- 我的电脑→百度服务器→如何寻找 =>逻辑链路
四、传输层
- 主要有两个协议
- TCP协议、UDP协议
- 更多情况下使用TCP协议
- 传输层提供了端到端的服务
- 我的电脑→百度服务器
- 两端如何传输数据、传输数据的方式都在传输层定义
- 传输数据较大时,需要分包、分片、数据组装
- 传输层向高层屏蔽了下层数据通信细节
- 在浏览器输入URL,自动发送相关的数据到服务器,服务器解析数据给浏览器,服务器解析数据给浏览器,这个过程涉及数据的拼装、以及传输等细节
- ajax也是http请求,使用ajax的post传输数据时,数据较大时,一次传输不完,如何分片、分包、组装都传输层做的
五、应用层
- 为应用软件提供了很多服务
- new request、post、get发送服务端
- 应用层实现了http协议
- 使用http协议相关工具
- 构建于TCP协议之上
- 屏蔽了网络传输相关的细节