ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[toc] ### 什么是http缓存 浏览器缓存是浏览器对之前请求过的文件进行缓存,以便下一次访问时重复使用,节省带宽,提高访问速度,降低服务器压力 主要在http响应头 response headers中设定 ### 强制缓存 服务器在http的响应头中添加Cache-Control,设置一个max-age表示缓存时间,单位为秒 ```js Expires: 过期时间 Cache-Control: max-age 秒 // no-cache:强制不适用缓存,发送请求; no-store: 强制不在本地缓存 ``` ### 协商缓存(对比缓存) 服务端的缓存策略 第一次:浏览器发送请求时,服务器返回资源+资源标识,浏览器把返回资源存入本地缓存 第二次:浏览器发送请求时同时发送缓存的资源标识,服务器会判断浏览器中资源版本和服务器中的版本是否一致,如果一致,那么服务器会返回304的状态码,浏览器直接从缓存中获取资源,如果不一致,服务器再返回最新的资源 + 服务器返回的资源标识 response headers ```js Last-Modified: 资源上一次的修改时间 ETag: 资源对应的唯一字符串,etag更精确 ``` + 浏览器请求的标识 request headers ```js If-Modified-Since:其实就是服务器返回的last-modified修改时间,精确到秒 If-None-Match: 就是服务器返回的 ETag ```