
文章链接
js语言和框架-网络基础和浏览器-HTTPS和HTTP
面5笔5讲讲304缓存的原理。
服务器首先为请求生成ETag,服务器可在稍后的请求中,使用它来判断页面是否已经修改。本质上,客户端通过将该记号传回服务器要求服务器验证其(客户端)是否缓存。
304是HTTP状态码,服务器用它来标识这个文件没有修改,不返回内容,浏览器在接收到个状态码后,会使用浏览器已缓存的文件。
客户端请求页面A。服务器返回页面A,并给A加上一个ETag。客户端展现该页面,并将页面连同ETag一起缓存。
客户端再次请求页面A,并将上次请求时服务器返回的ETag起传递给服务器。
服务器检查该ETag,并判断岀该页面自上次客户端请求之后还未被修改,直接返回响应304(未修改一 Not modified)和一个空的响应体。