metadata
元数据,用于描述数据的数据,不会显示在页面上,但是机器却可以识别。
? name
:主要用于描述网页,对应的属性值为content
keywords
关键字description
网站内容的描述viewport
移动端的窗口
? http-equiv
:http的文件头
content-Type
设定网页的字符集X-UA-Compatible
浏览器采取何种版本渲染当前页面cache-control
指定请求和响应应遵循的缓存机制
❣no-cache
先发送请求,与服务器确认该资源是否被更改,如未被更改,则使用缓存
❣no-store
不允许缓存,每次都要去服务器上,下载完整的响应
❣public
缓存所有响应,但非必须。
❣private
只为单个用户缓存,因此不允许任何中继进行缓存。
❣maxage
表示当前请求开始,该响应在多久内能被缓存和重用,而不去服务器重新请求。expires
网页到期时间refresh
自动刷新并指向某页面
<meta http-equiv="refresh" content="2; URl = http://baidu.com"> //俩秒后跳转我的博客
set-Cookie
网页过期,本地的cookie也会被自动删除
字段
通用首部字段:
Cache-Control
:控制缓存的行为
- no-cache:客户端角度:不要缓存过的资源,需要从源服务器重新请求资源;
服务器角度:可以使用缓存的资源,但是每次使用前都需要发送请求向服务器确认。
但如果响应报文中no-cache有参数,比如Cache-Control: no-cache=Location
,则客户端收到该参数对应的响应报文后就不可以使用缓存。(参数只能在响应报文中使用) - public:其他用户介意使用缓存
- private:只针对某些用户进行缓存,缓存服务器只会针对某些用户请求进行缓存操作,其他用户不给予缓存。
- no-store:不允许缓存
- max-age:客户端角度:缓存时间比指定时间要小,则直接使用缓存,当值为0的时候,缓存服务器会将请求转发给源服务器
服务器角度:表示该资源保存为缓存的最长时间,缓存服务器也不再对资源有效性确认再做确认。
Pragma
:控制缓存,是http/1.1之前遗留的,常配合Cache-Control
来使用
Cache-Control: no-cache
Pragma: no-cache
配合状态码一起使用的响应头部
- 100:要求客户端再次发送请求
- 101:要求客户端使用更高协议的http协议
- 200:一般用于get、post请求成功
- 204 :请求以及被处理,但是没有返回任何信息,一般用于客户端向服务器发送信息而客户端不需要新信息内容的情况
- 206 :客户端进行了范围请求,响应报文中由
Content-Range
指定范围的实体内容 - 301:永久性重定向
- 302 :临时性重定向
- 303:当前请求的资源存在着另一个URI,客户可以使用GET请求去访问该URI
- 304 :本地资源未发生改变,客户端可以使用本地未过期的缓存 请求头
If-Modified-Since
资源未发生变化,则返回304,反之返回200+新资源并返回Last-Modified
资源最后更新时间 - 307 :临时重定向
- 400 :请求报文中有语法错误
- 401 :客户端第一次请求的时候需要认证,弹出认证窗口,第二次以后则表示用户认证失败,把首部字段
WWW-Authorization
加入响应中 - 403 :客户端没有权限或者其他情况
- 404 :资源不存在
- 500 :服务器内部错误
- 503:服务器当前负荷过重不能处理请求,告诉客户端合适可以再请求,响应信息中使用
Retry-After
来告诉客户端什么时候可以再请求