从浏览器输入URL到最终看到页面, 这其中经历了哪些过程 ?

1. URL解析

从浏览器输入URL, 浏览器需要先解析URL, 并在DNS上查询此url对应的ip地址

2. 构造http请求

解析完之后, 浏览器就需要构造一个GET请求, 并将携带的信息添加在URL上面. http请求的格式是

请求行 : 请求方法(GET) , 协议版本(http1.1) , URL
请求头部header : 各种字段相当于键值对 中间用 = 区分 比如Content-length=10
空行
请求主体(body)
转载

3. 构造完http请求就需要将数据传给传输层了

由于http是基于TCP的应用层协议, 此时就是TCP
那么需要先进行3次握手建立连接的过程. 建立好连接之后
传输层给应用层报文加上传输层的头部, 然后再发送给网络层

4. 网络层

网络层再加上ip头部, 当然其中受限于数据链路层的MTU最大限制1500字节,
所以网络层可能需要进行拆包和组包

5. 数据链路层

数据链路层就需要加上数据链路层的报头, 其中涉及到了 源mac地址和目的mac地址就是在同一个局域网内, 传输数据,

6.物理层

最后再进过物理层传输光电信号.

7. 路由器

由于从源ip地址传输到目的ip地址需要进过多个路由器转发, 所以路由器是必不可少的. 其中有很多方法如何来选择路由器, 哪一条路径最短其中都是有各种算法的在这里就不详细的讲了 …

8. 到达服务器的物理层

此时经过多次的转发, 光电信号终于到达了目的ip的物理层

9. 解析成二进制数据

之后就把光电信号解析成二进制的数据一层一层的向上传达

10. 服务器的数据链路层

此时服务器的数据链路层就会将头部去掉来解析, 并向上传递

11. 服务器的网络层

将ip数据报组包, 并去掉头部向上传递到传输层

12. 服务器的传输层

此时就会解析, 各种保证可靠性的手段, 比如超时重传, 确认应答之类的

13. 服务器的应用层

此时服务器收到这个请求了, 那么就会返回一个响应并且其中携带了一个html文件用来显示页面

14. 重复上述操作

此时返回的响应就到达了客户端的应用层
浏览器此时就可以解析这个响应, 并且渲染html页面, 将其显示在网页上面了

15. 总图解

在这里插入图片描述

客户端发出请求, 服务器就返回响应.就这样一来一回实现了客户端与服务端之间的信息交流

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>