计算机网络(2) - 一文了解输入 url 到页面呈现的过程

url 到页面呈现的过程

1、输入网址
2、浏览器查找域名的 IP 地址(DNS域名解析)
  • 请求一旦发起,浏览器首先要做的事情就是解析这个域名。首先会查看本地硬盘的 hosts 文件有没有对应IP地址,若没有使用DNS解析
  • DNS解析
    • 浏览器会发出一个 DNS请求到本地DNS服务器(一般都是你的网络接入服务器商提供,比如中国电信,中国移动。)
    • 如果没有,本地服务器分别向根服务器域服务器,询问,最后返回用户一个IP地址。

      DNS查询的两种方式:递归查询和迭代查询
      1、递归解析:本地DNS服务器 - 根服务器 - 域服务器 - 解析服务器
      2、迭代解析:由本地自己去问
3、TCP连接

拿到域名对应的IP地址之后,浏览器会以一个随机端口(1024<端口<65535)向服务器的WEB程序(常用的有httpd,nginx等)80端口发起TCP的连接请求

  • 第一次握手:建立连接时,客户端向服务端发送请求报文
  • 第二次握手:服务器收到请求报文后,如同意连接,则向客户端发送确认报文
  • 第三次握手,客户端收到服务器的确认后,再次向服务器给出确认报文,完成连接。
4、浏览器向 web 服务器发起一个http请求

浏览器构建http请求报文,并通过TCP协议传送到服务器的指定端口。http请求报文一共包括三个部分:

  • 起始行:如 GET / HTTP/1.0 (请求的方法 请求的URL 请求所使用的协议)
  • 头部信息:User-Agent Host等成对出现的值
  • 主体
5、服务器处理请求,并返回响应报文

响应报文包括三个部分:

  • 状态码:
    状态码含义常见示例
    1**服务器已经接受到请求,客户端可继续发送请求
    2**请求成功200:请求已成功,请求所希望的响应头或数据体将随此响应返回。
    3**重定向303:对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源。
    4**客户端错误404:请求的网页不存在
    5**服务器错误503: 服务器超时
  • 响应头:包含了响应的相关信息,如日期等
  • 响应正文:服务器返回给浏览器的文本信息,通常的html、js、css、图片等就包含在这一部分里面。
6、浏览器展示HTML(浏览器页面渲染)

浏览器接受到http服务器发送过来的响应报文,并开始解析html文档,渲染页面。具体的渲染过程包括:构建DOM树、构建渲染树、定位页面元素、绘制页面元素等。参考:如何渲染的

  • 根据需要,浏览器发送请求获取其他在HTML中的资源。
7、断开TCP连接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值