网页输入 URL 的过程
发布日期:2021-05-14 22:00:19 浏览次数:15 分类:精选文章

本文共 1050 字,大约阅读时间需要 3 分钟。

输入URL的过程:从域名解析到页面渲染的详细步骤

当我们在浏览器中输入一个_url_,例如”www.baidu.com”时,这个地址并不是百度网站真正意义上的地址。在互联网中,每台计算机都有一个唯一的标识符——IP地址。因此,输入的URL首先需要通过域名解析转换为IP地址。

域名解析是一个递归查询过程。例如,解析”www.baidu.com”时,通常会经历以下步骤:

  • 在本地域名服务器中查询未找到该域名。
  • 本地域名服务器回向根域名服务器,同样未找到该域名。
  • 本地域名服务器向.com顶级域名服务器查询,未找到该域名。
  • 最后,本地域名服务器向.baidu.com域名服务器发送请求,最终找到该域名,将对应的IP地址返回给本地域名服务器。
  • 完成域名解析后,浏览器会与目标服务器建立TCP连接。TCP协议是HTTP协议在传输层的基础协议。在获取了服务器的IP地址后,浏览器客户端会启动TCP连接,这一过程包括三次握手:

  • 首次握手:客户端向服务端发送请求报文。
  • 第二次握手:服务器收到请求报文后,向客户端发送确认报文。
  • 第三次握手:客户端收到服务器的确认后,再次向服务器发送确认报文,完成连接。
  • 三次握手的目的是防止已经失效的请求报文字段发送给服务器,从而节省资源。

    建立TCP连接后,浏览器会构建HTTP请求报文,并通过TCP协议传送到服务器的指定端口。HTTP请求报文分为三个部分:

  • 请求行:包含HTTP方法、目标URL、协议版本等信息。
  • 请求头:描述浏览器的相关信息,包括语言、编码等。
  • 请求正文:用于传递POST、PUT等数据的字段,通常储存在请求正文中。
  • 服务器接收到HTTP请求后,会处理请求并返回响应报文。响应报文同样分为三个部分:

  • 状态码:服务器会返回状态码。常见状态码类型如下:
    • 1xx:表示请求继续。
    • 2xx:表示请求成功。
    • 3xx:表示重定向。
    • 4xx:表示客户端错误。
    • 5xx:表示服务器错误。
    1. 响应头:包含响应的相关信息,如日期、服务器类型等。
    2. 响应正文:服务器返回的文本信息,通常包括HTML、JS、CSS、图片等内容。
    3. 浏览器接收到响应报文后,会开始渲染页面。渲染过程包括解析HTML文档,构建DOM树、渲染树、定位页面元素、绘制页面元素等步骤。

      最后,连接会在浏览器和服务器之间完成四次挥手:

    4. 客户端发送分手消息给服务器。
    5. 服务器发送确认消息。
    6. 服务器发送准备完成的消息。
    7. 客户端发送确认消息,表示atím完成断开连接。
    8. 这样的连接过程确保了网络通信的高效性,避免资源浪费。

    上一篇:python 多进程之间内存共享
    下一篇:python split分割多线程的堆和栈 导包问题

    发表评论

    最新留言

    表示我来过!
    [***.240.166.169]2025年05月05日 19时19分09秒