通过报文首部,可以做以下事情
1. 编码
HTTP在传输数据时按照原样传输,可以使用编码提高传输速率,编码分为以下两种
-
压缩传输内容编码
对实体内容的编码信息进行压缩(服务器),并由客户端进行解码,常见的内容编码有:gzip、compress(UNIX系统的标准压缩)、deflate(zlib)、identity(不进行编码) -
分块传输编码
通过大容量数据,让浏览器逐步显示数据,而不是等加载所有才显示,这种方式会将实体分成多个块,每一个块用十六进制标记,最后一块用"0(CR+LF)"来标记,分块叫做chunk。
2. MIME多用途因特网邮件扩展机制
mime是一个集合,用于标记报文主体的数据类型,mime存在多部份对象集合(Multipart)方案,容纳不同类型数据,http采用了这一部分,如mutipart/form-data
、multipart/byteranges
3.范围请求
当实体是文件时。可以通过指定实体的文件大小范围实现下载。
如首部字段:Range:bytes=5001-10000
、Range:bytes=5001-
、Range:bytes=-3000,5000-7000
4.内容协商
内容协商是指客户端与服务器端就响应的内容进行交涉,服务器端提供给客户端最为合适的资源,常用于国际化(ps :你上p站就知道了,嘿嘿)。
与以下几个首部关联Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language。
内容协商类型:
- 服务器端驱动协商:客户端添加首部,服务器端返回相应内容
- 客户端驱动协商:用户在浏览器中选择不同语言
- 透明协商:以上两种结合
网友评论