美文网首页
从输入 URL 到获取页面过程

从输入 URL 到获取页面过程

作者: my木子 | 来源:发表于2021-04-25 21:57 被阅读0次
    1. 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址

    2. 根据 IP 地址,找到对应的服务器,浏览器与服务器建立 TCP 连接(三次握手)

    3. 建立 TCP 连接之后浏览器向服务器发送 HTTP 请求( IP > TCP > HTTP )

    4. 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器

    5. 浏览器解析并渲染 HTML(js、css、图片等文件)

    6. 释放 TCP连接(四次挥手)

    DNS 域名解析顺序

    • 浏览器缓存(强缓存、协商缓存)
    • 操作系统域名缓存
    • 本地 hosts 文件
    • 域名服务器(根域名服务器缓存,顶级域名服务器缓存,权威域名服务器缓存)

    DNS优化

    • DNS缓存
    • DNS负载均衡(在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时, DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问 引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。例如:CDN )

    三次握手

    • 客户端:我要建立连接,你是服务端么?(客户端服务端 发送SYN报文)
    • 服务端:我是服务端,你是客户端么?(服务端 收到 SYN 报文之后,应答客户端 SYN+ACK 报文)
    • 客户端:我是客户端,可以建立连接。(客户端 收到 SYN+ACK 报文之后,回应 ACK 报文,服务端 收到 ACK 报文之后,三次握手建立完成)

    四次挥手(可以使客户端发起,也可以是服务器端发起)

    • 服务端(主动):我要断开了。( 服务端客户端 发送 FIN+ACK 报文)
    • 客户端:知道了,你断开吧。( 客户端 发送 ACK 报文)
    • 客户端:我也要断开了。( 客户端 发送 FIN+ACK 报文)
    • 服务端:好的。( 服务端 发送 ACK 报文,同时断开连接,客户端 收到报文后也断开连接)

    浏览器渲染流程

    1. 解析HTML,构建DOM树
    2. 解析CSS,生成CSS规则树
    3. 合并DOM树和CSS规则,生成渲染树
    4. 布局渲染树(Layout/reflow),负责各元素尺寸、位置的计算
    5. 绘制渲染树(paint),绘制页面像素信息

    相关文章

      网友评论

          本文标题:从输入 URL 到获取页面过程

          本文链接:https://www.haomeiwen.com/subject/sywshltx.html