前端基础整理 | 从输入URL到页面展示经过了什么?

实际上,这个问题没有上限,前端学了多少,就能填进去多少。

  1. 输入URL地址。浏览器此时会查找本地的缓存,如果存在强缓存,直接从缓存中读取,存在协商缓存,跳到(6),如果缓存不命中,继续往下;【涉及到HTTP缓存】
  2. 根据URL解析出 hostname (比如 www.baidu.com)
  3. 将hostname解析为ip address,先查找本地DNS缓存列表,看缓存里是否有这个ip,如果有,则进入(4),如果缓存中不存在,就向浏览器的默认DNS服务器发送查询请求,同时缓存这个ip到DNS缓存列表中。 【涉及到DNS缓存】
  4. 拿到IP后,从URL中再拿到端口号。
  5. 拿到IP和端口后,浏览器会建立一条与目标Web之间的TCP连接。【涉及到TCP协议】
  6. 浏览器向服务器发出一条HTTP请求报文 【涉及到HTTP协议】
  7. 服务器向浏览器返回一条HTTP响应报文(如果是协商缓存通过,则返回304,不返回页面数据)【涉及到HTTP缓存】
  8. 关闭TCP连接 【涉及到TCP协议】
  9. 浏览器WebCore解析文档 【涉及到浏览器渲染原理】
  10. V8引擎解析Js文件【涉及到JS基础原理】
  11. 如果有其他资源,重复6、7、8、9

你可能感兴趣的:(前端基础整理 | 从输入URL到页面展示经过了什么?)