首页
题库
面试
求职
学习
竞赛
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收藏
5586浏览
热门推荐
相关试题
ajax原理、如何实现刷新数据及优点?
迅雷
Javascript
评论
(7)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题