Skip to content

浏览器地址栏输入一个 URL 到看到页面发生了什么 ​

URL ​

url 被分为几个部分

  • 首先是访问协议,一般为 http 或 https
  • 然后是一个域名
  • 然后是目录和文件名

开始 ​

  • 浏览器会判断是不是一个合法的网址,不合法的会进入到搜索,合法的网址就会去请求
  • 请求之后会去找网址的域名,浏览器通过 DNS 解析对应的 IP 地址
    • 首先会进行 DNS 查询
    • 浏览器自身缓存的 DNS
    • 操作系统的 DNS
    • 本地 host 文件
    • 都找不到才会去向域名服务器发送请求
  • 找到对应的服务器 IP 地址,建立连接,到传输层进行三次握手
  • 浏览器缓存 cache
    • 强缓存 直接把服务端提供的资源缓存下来
    • 协商缓存 由HTTP头部信息中的ETag和Last-Modified字段来判断客户端缓存中的内容是否过期,并决定是否需要从服务器获取最新的内容
    • 缓存的位置
      • disk cache 硬盘缓存
      • memory cache 内存缓存
  • 请求资源
  • 四次挥手断开链接
  • 下载 html,解析 html,绘制一棵抽象语法树
  • CSS的OM 回流和重绘
  • 解析js,通过解析器,解析出AST抽象语法树,转成字节码,然后通过解释器(JIT)转成机器码010101

参考

Released under the MIT License.