HTTP首部

别的不说,先上图为敬

所以你应该是知道本章的内容是非常的多的,不急,一步一个脚印,慢慢来。

首先我们来讲一下通用字段

cache-control:这个是对缓存控制的属性,有下面这些属性值


cache-control 的属性值

public :顾名思义,就是所有用户都能利用缓存

private:只给特定的用户提供缓存

no-cache:不是字面上的不缓存的意思,是要想服务器检验一下有效性再发过来

no-store:这个才是真的不能缓存

max-age:    没过期的就可以发过去,响应的最大age

s-maxage: 公共缓存服务器响应的最大age

max-fresh    :要求服务器返回在规定时间内还没过期的缓存

max-stale:过期多久的缓存可接收,无参数则过期的都可以

only-if-cache:有缓存的话返回给我,没有的话就算了,省点流量

must-revalidate:可缓存但是必须先向服务器确认

下面是和no-cache 的区别

no-cache: 告诉浏览器、缓存服务器,不管本地副本是否过期,使用资源副本前,一定要到源服务器进行副本有效性校验。

must-revalidate:告诉浏览器、缓存服务器,本地副本过期前,可以使用本地副本;本地副本一旦过期,必须去源服务器进行有效性校验。

connection :如果是首部属性则为删除某个属性再转发的意思


然后默认为持久连接keep-alive,如果要关闭连接则属性值为close

Date    声明日期

pragma:为了向后兼容;等同于cache-control



一般为了向后兼容,两个都写

Trailer    事先说明报文主体后面的内容

Transfer-Encoding    规定传输报文主体的编码方式

upgrade    来检测是否支持更高版本的协议

via    就行前面说的,每经过一个代理或者网关就会加上该服务器端的信息

warning 警告码    该首部通常会告知用户一些与缓存相关的问题的警告


错误提示码

接下来就是请求的首部字段了

Accept  

  指定客户端接受的媒体类型和优先级,比如接收text/html,就是接收HTML格式的文本,q=n(0-1)来表示接收的优先级,默认权重为1.0;

Accept-Charset:接收的字符集,直接赋值utf-8即可,也可以增加权重

Accept-Encodeing:接收的编码形式

Accept-language:接收的语言

Authorization:认证信息

Except:    告知服务器,希望能够出现某种特定行为

Host:用来告知服务器资源所处的的主机名和端口号

if-match:只有其字段值和服务器的资源的ETag的值一样的时候,服务器才会返回资源

If-none-match:    就是匹配不成功怎么样咯

If-Modifed-Since:就是和其输入的时间相比,如果在那个时间之后有修改过,就返回,没有的话就不返回了,是为了确认本地缓存的有效性

If-Unmodified-Since:告诉服务器如果没有修改才处理请求,有的话就算了

If-range:和If-match一样的意思,配合range使用,如果匹配就返回range,如果不匹配就返回全部的内容(if-match也可以,但是要match成功之后才发送range过去,而if-range是和range一起发过去的)

Max-Forward:就是向前走几步(使用trace方法时用到)用来检测在哪个代理服务器出现了问题


Proxy-Authorization: 对代理服务器的认证

Referer:告诉服务器是谁发起的请求

TE:告知服务器接收的编码形式,和accept-Encoding很像,但是用于传输编码

User-Agent:把浏览器和用户代理的详细信息告诉服务器


再接下来我们讲响应首部  

Accept-ranges:bytes    或者 none        用来对应请求首部的range是否可以被处理

age:    告诉客户端响应已经创建多久了,单位为秒

ETag:当ETag更新的时候将把新的传给服务器

Location:    就是返会3XX需要重定向时候的要重定向的地址

Proxy-Authenticate:把代理所需要的认证信息发送给客户端

Retry-After:    多久后再来访问

server:    把服务器的信息告诉客户端

Vary:    源服务器告诉代理服务器 缓存的使用方法,比如Accept-language,那么相同的语言的请求就返回缓存

WWW-Authenticate:告诉客户端它所请求的URI的认证方案

最后是我们的实体首部字段

Allow:    告诉客户端,服务端所支持的请求方法

Content-Encoding:    声明编码方式

Content-Language:    声明使用的自然语言

Content-Length:    声明资源的大小

Content-Location:    给出报文主体部分对应的URI

Content-MD5:    由MD5来确认内容是否被更改过

Content-range:    返回对应范围的资源

Content- Type:    声明实体主题的媒体类型

Expires:    声明资源的失效日期

Last-Modified:    最后一次修改的日期

还有为cookie服务的首部字

set-cookie


set-cookie的属性值(可多选)

Cookie:就是从服务器那里收到的set-cookie的值

你可能感兴趣的:(HTTP首部)