We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
简单来说,缓存就是一份指定资源的拷贝,在下次请求同一份资源时,能利用缓存进行复用,而不是重新去请求服务器再次下载一份新的资源。
利用http返回头字段来控制,表示资源的最大缓存时间,由于时间是由服务器生成的,本地客户端确认的时候会产生误差。
最大缓存时间
如:
Cache-Control: public, max-age=6400
或者
Expires: Fri, 8 Aug 2018 17:09:00 GMT
判断是否可以使用缓存,客户端第一次请求资源时,服务器会返回缓存标识与数据到客户端本地,再次请求资源时,客户端会把缓存标识发送到服务端确认资源的有效性,当缓存失效时,返回200及新的资源内容,当缓存有效时,返回304(Not Modified ),表示资源没有更新,可以使用缓存。
时间上的对比
如:
Last-Modified: Fri, 8 Aug 2018 17:09:00 GMT
内容上的对比
E-tag: xxxxxxxxx
The text was updated successfully, but these errors were encountered:
No branches or pull requests
HTTP的缓存策略
什么是缓存
简单来说,缓存就是一份指定资源的拷贝,在下次请求同一份资源时,能利用缓存进行复用,而不是重新去请求服务器再次下载一份新的资源。
缓存的好处
HTTP的两种缓存策略
强缓存
利用http返回头字段来控制,表示资源的
最大缓存时间
,由于时间是由服务器生成的,本地客户端确认的时候会产生误差。如:
或者
如:
协商缓存
判断是否可以使用缓存,客户端第一次请求资源时,服务器会返回缓存标识与数据到客户端本地,再次请求资源时,客户端会把缓存标识发送到服务端确认资源的有效性,当缓存失效时,返回200及新的资源内容,当缓存有效时,返回304(Not Modified ),表示资源没有更新,可以使用缓存。
时间上的对比
如:
内容上的对比
注意: 当强缓存不在时间内时,才会执行协商缓存策略,强缓存的优先级更高,因为强嘛。
The text was updated successfully, but these errors were encountered: