- 首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法
- 浏览器先查看浏览器缓存——系统缓存——路由器缓存,如果缓存中有,直接在屏幕上显示内容,如果没有,到第三步
- 在发送http请求前,需要域名解析(DNS解析),获取相应的IP地址
- 浏览器向服务器发起TCP连接,与浏览器建立三次握手
- 握手成功后,浏览器向服务器发送http请求,请求数据包
- 服务器处理收到的请求,将数据返回至浏览器
- 四次挥手释放TCP连接
- 浏览器收到http响应
- 浏览器解析响应,如果响应可以缓存,则存入缓存
- 浏览器发送请求获取嵌入在HTML的资源(对于未知类型,会弹出对话框)
- 浏览器发送异步请求
- 页面渲染全部结束
浏览器缓存:浏览器会记录DNS一段时间,因此只有第一个地方解析DNS请求 操作系统缓存:如果在浏览器中不包含这个记录,则会使用系统调用操作系统,获取操作系统记录(保存最近的DNS查询缓存)
路由器缓存:如果上述两个步骤均不能获取DNS记录,继续搜索路由器缓存