#### 请求首部字段 ####
请求首部字段是从客户端往服务器端发送请求报文中所使用的字段,
用于补充请求的附加信息、客户端信息、对响应内容相关的优先级等内容。
# Accept #
Accept首部字段可通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级。
可使用type/subtype这种形式,一次指定多种媒体类型。
Accept : text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
我们试举几个媒体类型的例子:
# 文本文件:
text/html, text/plain, text/css ... application/xhtml+xml, application/xml ...
# 图片文件:
image/jpeg, image/gif, image/png ...
# 视频文件:
video/mpeg, video/quicktime ...
# 应用程序使用的二进制文件:
application/octet-stream, application/zip ...
比如,如果浏览器不支持 PNG图片的显示,那Accept就不指定 image/png,
而指定可处理的image/gif和image/jpeg等图片类型。若想要给显示的媒体类型增加优先级,
则使用 q= 来额外表示权重值1,用分号(;)进行分隔。权重值q的范围是 0~1 (可精确到小数点后3位),
且1为最大值。不指定权重q值时,默认权重为 q=1.0 。
# Accept-Charset #
ex: Accept-Charset: iso-8859-5, unicode-1-1;q=0.8
Accept-Charset 首部字段可用来通知服务器用户代理支持的字符集及字符集的相对优先顺序。
另外,可一次性指定多种字符集。与首部字段Accept相同的是可用权重q值来表示相对优先级。
该首部字段应用于内容协商机制的服务器驱动协商。
# Accept-Encoding #
Accept-Encoding 首部字段用来告知服务器用户代理支持的内容编码及内容编码的优先级顺序。
可一次性指定多种内容编码。
ex: Accept-Encoding: gzip, deflate
下面试举出几个内容编码的例子:
# gzip
由文件压缩程序gzip( GNU zip )生成的编码格式(RFC1952),采用Lempel-Ziv算法(LZ77)及 32位循环冗余校验(Cyclic Redundancy Check ,通称 CRC)
# compress
由UNIX文件压缩程序compress生成的编码格式,采用 Lempel-Ziv-Welch算法(LZW)。
# deflate
组合使用zlib格式(RFC1950)及由 deflate压缩算法(RFC1951)生成的编码格式。
# identity 不执行压缩或不会变化的默认编码格式、
注: 采用权重 q 值来表示相对优先级,这点与首部字段 Accept 相同。另外,也可使用星号(*)作为通配符,指
定任意的编码格式。