简洁版:
1、浏览器通过DNS域名解析到ip地址
2、浏览器通过TCP协议建立到服务器的TCP连接(TCP三次握手)
3、客户端(浏览器)向web服务器端发送Http协议包,请求服务器里的资源文档
4、服务器向客户端发送Http协议应答包
5、客户端和服务器断开连接(TCP四次挥手),客户端开始解析处理HTML文档
详细版:
1、在浏览器地址栏输入URL
2、浏览器查看缓存,如果请求资源在缓存中并新鲜,跳转到转码步骤。
(1)如果资源未缓存,发起请求
(2)如果已缓存,检测是否是足够新鲜,足够新鲜直接提供给客户端,否则与服务器进行验证。
(3)检验新鲜通常有两个HTTP头进行控制Expires和Cache-Control:
HTTP1.0提供Expires,值为一个绝对时间表示缓存新鲜日期
HTTP1.1增加了Cache-Control:max-age=,值为以秒为单位的最大新鲜时间
3、浏览器解析URL获取协议、主机、端口、path
4、浏览器组装一个HTTP(Get)请求报文
5、浏览器获取主机IP地址,过程如下: