1、解析URL
判断浏览器输入的是搜索内容还是URL,生成http请求信息;
2、查找本地缓存
如果能找到缓存则直接返回页面,如果没有缓存则需要发送网络请求页面;
3、DNS解析(找到对应服务器)
通过DNS服务器找到域名对应的服务器的IP地址;
4、建立TCP连接(三次握手)
利用IP地址和服务器建立TCP连接;
PS:三次握手过程:
5、发送HTTP请求(包括请求头、请求行、请求正文、Cookie等)
建立连接后,浏览器构建数据包(包括请求头、请求行、请求正文、Cookie等),向服务器发送请求消息;
6、构建响应数据(包括响应头、响应行、响应正文等)
服务器接收到请求后根据请求信息构建响应数据(包括响应行,响应头,响应正文),发送回网络进程;
7、解析响应数据
网络进程接收到响应数据后进行解析;
PS:常见响应状态码有200、404、500等。
8、TCP四次挥手断开连接
数据传输完成,TCP四次挥手断开连接;
PS:四次挥手过程:
9、浏览器渲染
浏览器进行页面渲染,即解析接收到的HTML、CSS、JavaScript等文件。
PS:浏览器渲染过程: