首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
cache-control
[问答题]
cache-control
查看答案及解析
添加笔记
邀请回答
收藏(347)
分享
纠错
2个回答
添加回答
0
推荐
匹诺曹
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-***、max-age、must-revalidate等,默认为private。
Expires 头部字段提供一个日期和时间,响应在该日期和时间后被认为失效。允许客户端在这个时间之前不去检查(发请求),等同max-age的效果。但是如果同时存在,则被Cache-Control的max-age覆盖。
Expires = "Expires" ":" HTTP-date
例如:
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
如果把它设置为-1,则表示立即过期
Expires 和 max-age 都可以用来指定文档的过期时间,但是二者有一些细微差别
1. Expires在HTTP/1.0中已经定义,Cache-Control:max-age在HTTP/1.1中才有定义,为了向下兼容,仅使用max-age不够
2. Expires指定一个绝对的过期时间(GMT格式),这么做会导致至少2个问题:
2.1客户端和服务器时间不同步导致Expires的配置出现问题。
2.2很容易在配置后忘记具体的过期时间,导致过期来临出现浪涌现象
3. max-age 指定的是从文档被访问后的存活时间,这个时间是个相对值(比如:3600s),相对的是文档第一次被请求时服务器记录的Request_time(请求时间)
4. Expires 指定的时间可以是相对文件的最后访问时间(Atime)或者修改时间(MTime),而max-age相对对的是文档的请求时间(Atime)
5. 如果值为 no-***,那么每次都会访问服务器。如果值为max-age,则在过期之前不会重复访问服务器。
编辑于 2015-07-27 16:37:56
回复(1)
0
挣钱买包包
1.http响应头信息,可以用来设置缓存,优化页面的性能。
服务器可以通过HTTP定义的几种方式来指定在文档过期之前可以将其缓存多长时间。
2.添加在HTTP响应头中
3.no-store:禁止缓存对响应进行复制
no-***:在与原始服务器进行新鲜度再验证之前,缓存不能将其提供给客户端使用
max-age: 从服务器将文档传来之时,可以认为此文档处于新鲜状态的秒数
max-age=0;将最大使用时间设置为零,从而在每次访问的时候都进行刷新
Expires响应首部:实际的过期时间而不是秒数
发表于 2016-09-03 21:34:04
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Javascript
上传者:
匹诺曹
难度:
2条回答
347收藏
5699浏览
热门推荐
相关试题
ajax原理、如何实现刷新数据及优点?
迅雷
Javascript
评论
(7)
在大语言模型中,什么是"Gated...
大模型开发
评论
(1)
下面关于 Java 中的异常处理说...
Java
评论
(1)
关于大模型“上下文窗口”的理解,以...
大模型概念
评论
(1)
Vue Router的全局前置守卫...
Vue
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题