页面呈现

当我们输入网址之后,在页面呈现之前,用户计算机、DNS服务器和目标计算机之间都经历了哪些故事呢,下面来为大家进行逐一分解:


一、确定web服务器


在输入网址并按下回车之后,我们的计算机将web访问请求发送至DNS服务器,DNS服务器收到域名,并开始对请求的域名进行解析,通过解析映射出目标计算机对应的IP地址,即确定了将要进行交流的服务器。
为什么要进行域名解析呢?因为域名是无法被计算机识别的,计算机之间的通信定位,是通过IP地址来实现的。每一个域名都有一个IP地址,也可以多个域名对应同一个IP。在浏览器中,输入的ip地址默认加了一个80端口号,也就是对方的服务器的监听端口号。


二、建立TCP连接


确定了web服务器也就是目标计算机的IP地址后,接下来需要完成工作就是建立TCP连接。
首先客户端发送连接请求报文,服务器接受连接后回复ACK报文,并为这次连接分配资源。客户端接收到ACK报文后也向服务器发送ACK报文,并分配资源,这样TCP连接就建立了。建立TCP的这个过程,我们称为TCP的三次握手。
三次握手,虽然确保了请求和响应的有效性,但是,由于每次http请求都得经历三次握手,这样就消耗了大量的时间。传统的http协议规定一次请求只能请求一个文件,所以一些大网站为了提高访问速度,采取的策略是尽量减少http请求,即一次http请求能够请求多个文件,比较好的是http2.0已经支持该项功能。

三、向web服务器发送请求数据

建立了TCP连接之后,客户端浏览器将用户输入的 URL 地址根据HTTP协议封装成了 http 请求报文,即请求头+请求行+请求体。请求报文最终被转换成为二进制数据,并发送到目标计算机的WEB服务器。

四、web服务器处理诉求

目标计算机的WEB服务器接收到客户端发送给自己的请求数据之后,首先把二进制数据按照编码解析成字符,再按照 HTTP 协议规范中定义的格式解析出来。
用户请求解析完成之后,后台服务器开始对用户请求信息进行处理,并将相应的处理结果封装到 HTTP Response 响应报文中发送给客户端。
处理完用户请求报文消息之后,服务器开始将具体的需要发送给客户端的数据,根据HTTP协议规范封装成 HTTP协议响应报文即响应头、响应字段、响应体。该数据同样是具有特定格式的字符串,最终这个字符串被转换成二进制数据,通过 Socket(ip地址、端口号)发送到客户端。

五、客户端解析答复

用户浏览器接收到响应后,开始解析HTML源文件,即开始渲染HTML、CSS,解析和执行JavaScript代码,解析的过程中实现对页面的排版,解析完成后在浏览器中显示基础页面。

六、进行其他交流

当浏览器在解析的过程中遇到一些静态资源时,会再次重复上面的步骤,直到将整个请求页面完美的显示出来,这个时候,展现在我们面前的就是一个完整的页面了。








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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值