-
首先输入URL
-
浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。
-
在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
-
浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
-
握手成功后,浏览器向服务器发送http请求,请求数据包。
-
服务器处理收到的请求,将数据返回至浏览器
-
浏览器收到HTTP响应
-
读取页面内容,浏览器渲染,解析html源码
-
生成Dom树、解析css样式、js交互
-
客户端和服务器交互
-
ajax查询
其中,步骤2的具体过程是:
浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
.
操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);
.
路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存; ISP缓存:若上述均失败,继续向ISP搜索。
详细说
请看别人的总结,很详细 传送门
但是也能简单说:
(1). DNS解析
(2). TCP连接
(3). 发送HTTP请求
(4). 服务器处理请求并返回HTTP报文
(5). 浏览器解析渲染页面