执行过程
在浏览器中输入www.baidu.com后执行的全部过程。
此处,浏览器——即“客户端”。
1、浏览器向DNS服务器发出解析域名的请求;
2、DNS服务器将域名解析为对应的IP地址,并返回给浏览器;
3、浏览器根据IP地址与目标服务器建立TCP连接;
4、浏览器发出HTTP请求报文;
5、服务器回复HTTP响应报文;
6、浏览器解析响应报文,并显示在Web页面上;
7、收发报文结束,释放TCP连接。
注意点
1、HTTP请求报文在传输层被封装为TCP报文段;
2、TCP报文段在网络层被封装为IP数据包。
HTTP请求报文在传输层被封装为TCP报文段——把HTTP会话请求分成报文段,添加源端口和目的端口;
TCP报文段在网络层被封装为IP数据包——然后客户端通过服务器IP地址找到客户端到服务器的路径。客户端的网络层不用关心应用层或者传输层的东西,其主要工作是:通过查找路由表,来确定通过哪个路径到达目的主机。
服务器监听80端口的客户端的请求,客户端由系统随机选择一个端口(如5000)与服务器交换数据。服务器把响应信息返回给客户端的5000端口。
长短连接
HTTP/1.0是短连接;
HTTP/1.1是长连接,不会立马释放的,会等Connection:keepAlive时间过了才会释放掉TCP连接。
涉及到的协议
应用层:HTTP(超文本传输协议),DNS(域名解析服务)
传输层:TCP(为HTTP提供可靠的数据传输),UDP(DNS使用UDP传输)
网络层:IP(IP数据包传输和路由选择),ICMP(提供网络传输过程中的差错检测),ARP(将目的主机的IP地址映射成MAC地址)
——本文结束——
网友评论