Http1.1信息头,请求头
Http中的消息头包括通用消息头,请求头,响应头,实体头。
一、通用信息头(可用于请求,也可用于响应)
1、Cache-Control
请求:用于请求时表示客户与服务器之间的代理服务器如何使用已缓存的界面
响应:通知客户机何代理服务器如何缓存该页面
取值为public,private,no-cache,no-store,no-transform,must-ridate,proxy-ridate,max-age,s-maxage。
一个cache-control可以设置多个字段,各字段间以逗号分割如
Cache-Control:no-store,no-cache
2、Connection
用于指示处理完本次请求/响应后,客户端与服务器是否继续保持连接
取值为Keep-Alive,close。默认为Keep-Alive
3、Date
用于表示Http消息产生的时间,格式必须是GMT格式,如
Date:True,11 Jul 2000 18:23:16 GMT
4、Pragma
与Cache-Control类似,但值只能固定为no-cache
5、Trailer
有些消息头可以放在消息头中,也可以放在实体内容之后。对于后者需在Trailer字段中指定,如
Trailer:Date
6、Transfer-Encoding
如何实体部分采用某种编码方式传输,则该字段指定该编码方式,目前的值只能为chuncked
7、Upgrade
Upgrade字段允许客户端指定它所支持并希望将当前换到的通讯协议对于101状态码,服务器必须使用Upgrade头字段指定切换的协议,如
Upgrade:Http/2.0 SHTTP/1.3
8、Via
via头字段用于指定Http消息途径的中介代理服务器名称和所使用的协议,这个头字段由代理服务器产生,每个代理服务器必须把他的信息追加到via字段的最后,以反应http消息途径的多个代理服务器的顺序
Via: Http/1.1 Proxy1 Http/1.1 Proxy2
9、Warning
Warning头字段主要用于说明其他头字段和状态码不能表示的一些其它警告信息,例如,返回的实体信息可能已经过时
二、请求头(用于客户端)
请求头是客户端在请求消息中向服务器传递附加信息,主要包括客户端可以接受的数据类型,压缩方法,语言以及发出请求的超链接所属页面的URL地址信息。
1、Accept
用于指定客户端可以接受的MIME类型,如
Accept:text/html,image/*
2、Accept-Charset
用于指定客户端可以使用的字符集
Accept-Charset:ISO-8859-1,UTF-8
3、Accept-Encoding
用于指定客户机能够进行解码的数据编码方式,通常指某种压缩方式,如gzip和compress
4、Accept—Language
用于指定客户端期望服务器返回哪个国家语言的文档,可以指定多个。
Accept-Language:en-gb,zh-cn
5、Authorization
6、Except
用于指定客户机请求服务器采取的特殊行为,目前只设置100-continue,用于询问服务器是否可以在随后的请求中发送一个附加文档。
7、From
用于指定请求发送者的Email,它只被一些特殊的客户端程序使用,浏览器不使用。
8、Host
用于指定资源所在的主机和端口号,如:
Host:www.localhost:8080
如果端口号等于连接服务器时的端口号,则端口号可省略。
9、if-Match
10、if-Modified-Since
11、if-nonmatch
12、if-Range
只能跟Range一起使用
13、Max-Forwards
用于指定当前请求可以途径的代理服务器数,每经过一个代理服务器,值减少1.减到0时,所在的代理服务器负责处理请求。
14、Proxy-Authorization
除了针对代理服务器的用户认证信息外,用法与Authorization相同
15、Range
用于指定服务器只需返回的部分内容及内容范围。这样可以实现打文件内容的分段传输。有几种格式,如
1)Range:bytes=100-500 100到500
2)Range:bytes=100- 100以上
3)Range:bytes=-100 100以下