浏览器端键入URL发生了什么

键入网址到页面显示,期间发生了什么

【step1】浏览器解析URL,生成发送给Web服务器的请求信息

           URL元素组成  http://www.server.com/dir1/file1.html

            http:表示访问数据的协议

            //:后面的字符串表示服务器的名称

            /:后面的表示数据源(文件)的路径名 

            如果/后面的元素都省略了,则应该请求根目录下事先设置的默认文件

【step2】客户端生成HTTP请求报文

           对URL进行解析之后,浏览器确定了Web服务器和文件名,接下来就是根据这些信息来生成HTTP的请求消息了

【step3】IP地址查询---DNS

通过浏览器解析URL并生成HTTP消息后,需要请求操作系统将消息发给Web服务器。但是在发送之前,需要查询服务器域名对应的IP地址,因为请求操作系统发送消息时,必须提供对象的IP地址。

DNS服务器专门保存了Web服务器域名和IP地址的对应关系。DNS层级关系,越靠右边表示其层级越高。

【step4】客户端TCP连接建立完成,通过操作系统的协议栈发送HTTP请求报文

通过DNS获取到IP后,就可以把HTTP的传输工作交给操作系统中的协议栈

给HTTP请求报文加上TCP头部,再加上IP头部、再加上以太网头部、最后交给网卡,转化成电信号发送出去

补充

应用层、传输层(协议栈)、网络层(网卡驱动程序控制网卡)、链路层(物理硬件网卡)

协议栈中的IP协议控制网络包的收发操作,IP协议中还包括ICMP和ARP协议

ICMP用于通知网络包传送过程中产生的错误以及各种控制信息

ARP用于根据IP地址查询相应的以太网MAC地址

【step5】服务器接收数据

接收端的服务器在数据链路层接收到数据包,再层层向上解析,直到应用层。TCP协议将分段的数据包重组,最后得到HTTP请求报文。

【step6】服务器生HTTP成响应报文,并通过操作系统协议栈发送HTTP响应报文

服务器端接收到客户端发送的请求,查找客户端请求的资源,并生成响应报文,响应报文中的一个重要的信息就是状态码。给HTTP响应报文加上TCP头部,再加上IP头部、再加上以太网头部、最后交给网卡,转化成电信号发送出去

【step7】客户端处理服务器返回的响应请求

客户端TCP协议对分段的数据包重组,得到完整的数据包,得到HTTP响应报文。然后对服务器发来的HTTP响应报文进行解码,得到页面数据资源。根据资源类型决定如何处理,页面渲染。

【step8】页面渲染

【step9】关闭连接(TCP连接关闭)

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值