http首部字段解析

313 阅读1分钟

**1.Accept-Encoding(req)和 content-encoding(res) **

Accept-Encoding:像服务器注明返回的文件的编码方式

content-encoding: 返回文件的编码格式,告知浏览器如何解码

gzip, compress, deflate三种压缩方法类型

identify:不执行压缩或者不变化的默认编码格式

如上图所示,当res中的content-encoding包含在req的Accept-Encoding中时,页面正常解析显示

当使用了请求头允许外当编码方式,该文件直接被当作压缩包下载

2.User-Agent(req)

User-Agent: 将创建请求当浏览器和用户代理等信息传给服务器(可以用location.userAgent字段判断移动端)

web端chrome浏览器打开:

模拟iphone使用chrome浏览器打开:

模拟ipad使用chrome浏览器打开:

3. content-render(res)和content-length(res)

content-render: 返回部分的截取(bytes 101-250,一般用于断点续传等

content-length: 表明返回实体部分大小(压缩过的文件传输不能使用该字段,会使得解码出现问题

4. content-type(res)

content-type: 定义实体内对象的媒体类型

打开文件:text/plain, text/***

打开图片:image/**

打开视频:video/audio/

文档(pdf,xls等): application/***

json数据:application/json

文件下载:application/octet-stream(数据流)

表单默认的提交数据的格式:application/x-www-form-urlencoded

要在表单中进行文件上传时的格式: multipart/form-data (有key/value, 二进制时的混合模式)