Cache-Control:是一个 HTTP 协议中关于缓存的响应头
- public:在HTTP请求返回的过程中,在cache-control设置了public这个值,代表这个HTTP请求返回的内容中所经过的任何路径当中,包括一些中间的HTTP的代理服务器以及发出这个请求的客户端浏览器都可以对这个返回的内容进行缓存的操作。
- private:表示发起请求的这个浏览器才能进行缓存的
- no-cache:每次发送请求都要去服务器验证一下,如果服务器告诉可以使用缓存,才使用本地缓存
Content-Type(内容类型):用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。
常见的媒体格式类型如下:
- text/html : HTML格式
- text/plain :纯文本格式
- text/xml : XML格式
- image/gif :gif图片格式
- image/jpeg :jpg图片格式
- image/png:png图片格式
以application开头的媒体格式类型:
- application/xhtml+xml :XHTML格式
- application/xml: XML数据格式
- application/atom+xml :Atom XML聚合格式
- application/json: JSON数据格式
- application/pdf:pdf格式
- application/msword : Word文档格式
- application/octet-stream : 二进制流数据(如常见的文件下载)
- application/x-www-form-urlencoded : 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
另外一种常见的媒体格式是上传文件之时使用的:
- multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式
**expires:**应该在什么时候认为文档已经过期,从而不再缓存它?
表示存在时间,允许客户端在这个时间之前不去检查(发请求),等同max-age的
效果。但是如果同时存在,则被Cache-Control的max-age覆盖
Pragma:pragma是http/1.1之前版本的历史遗留字段,仅作为与http的向后兼容而定义。
规范定义的唯一形式
Pragma:no-cache
只用于客户端发送的请求中。客户端会要求所有的中间服务器不返回缓存的资源。
如果所有的中间服务器都以实现http/1.1为标准,那么直接使用Cache-Control:no-cache即可,如果不是的话,就要包含两个字段
Cache-Control:no-cache
Pragma:no-cache
**refresh:**表示浏览器应该在多少时间之后刷新文档,以秒计
Transfer-Encoding:传输编码在 HTTP 的报文头中,使用 Transfer-Encoding
首部进行标记,它就是指明当前使用的传输编码