Skip to content

常见问题

浏览器输入一个URL到页面显示的过程

  • URL解析
    • 判断输入的内容是否是一个合法的URL(协议+域名+端口+路径+查询字符串+锚点链接)。
    • 判断输入的URL是否完整,如果不完整,浏览器可能会对域进行猜测,智能补全前缀或者后缀。
    • 使用用户设置的搜索引擎进行搜索。
  • DNS解析
    • 浏览器不能直接通过域名找到对应的服务器IP地址,所以需要进行DNS解析,查询对应的服务器IP。
    • 浏览器DNS缓存=>系统DNS缓存=>本地的hosts文件=>本地域名服务器=>根域名服务器=>顶级域名服务器=>权限域名服务器=>保存结果到缓存。
    • 没有找到对应IP的话显示异常页面,提示无法处理此请求。
  • 建立TCP连接(三次握手)
  • 发送HTTP/HTTPS请求
  • 服务器响应请求
  • 浏览器解析页面
    • 首先解析收到的HTML文档,根据文档定义构建DOM树(由DOM元素及属性节点组成)。
    • 解析CSS,生成CSSOM树。
    • 将 DOM树和CSSOM树结合,生成渲染树(Render Tree)。
    • 根据渲染树来进行布局,得到各个节点在页面上的大小和位置(回流)。
    • 进入绘制阶段,遍历渲染树并调用渲染对象的paint方法,绘制元素像素信息(重绘)。
    • 浏览器将各图层的信息发送给GPU,显示在页面上。
  • HTTP请求后,断开TCP连接(四次挥手)

HTTP VS HTTPS

对比项HTTPHTTPS
安全性明文传输,存在安全风险加入了SSL/TLS加密层,数据传输更安全
默认端口80443
CA证书不需要需要

上次更新:

Released under the MIT License.