浏览器输入URL后发生了什么

  1. 首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法
  2. 浏览器先查看浏览器缓存——系统缓存——路由器缓存,如果缓存中有,直接在屏幕上显示内容,如果没有,到第三步
  3. 在发送http请求前,需要域名解析(DNS解析),获取相应的IP地址
  4. 浏览器向服务器发起TCP连接,与浏览器建立三次握手
  5. 握手成功后,浏览器向服务器发送http请求,请求数据包
  6. 服务器处理收到的请求,将数据返回至浏览器
  7. 四次挥手释放TCP连接
  8. 浏览器收到http响应
  9. 浏览器解析响应,如果响应可以缓存,则存入缓存
  10. 浏览器发送请求获取嵌入在HTML的资源(对于未知类型,会弹出对话框)
  11. 浏览器发送异步请求
  12. 页面渲染全部结束

浏览器缓存:浏览器会记录DNS一段时间,因此只有第一个地方解析DNS请求 操作系统缓存:如果在浏览器中不包含这个记录,则会使用系统调用操作系统,获取操作系统记录(保存最近的DNS查询缓存)

路由器缓存:如果上述两个步骤均不能获取DNS记录,继续搜索路由器缓存