· 491 words · 3 min
HTTP 是一种允许浏览器向服务器获取资源的协议,是 Web 的基础,也是浏览器使用最广的协议。
Connenction: Keep-Alive
时,TCP 仍会保持打开状态,这样浏览器就可以通过统一个 TCP 连接发送请求。省去了连接时间,提升了资源加载速度。有些网页第二次打开的速度很快就是因为浏览器使用了第一次的缓存。
浏览器根据服务器返回的响应头中是否有 Cache-Control
头来决定是否缓存该资源。缓存通常是有时长的,比如 Cache-Control: max-age=2000
。
如果缓存过期,浏览器就会继续发起请求,并且在 HTTP 请求头中带上 If-None-Match: "4f80f-13c-3a1xb12a"
,服务器根据该字段判断请求的资源是否有更新。若没有更新,就会返回 304
状态码,浏览器继续使用缓存。若有更新,就会返回最新的资源。