6.1 标题类型
http请求头实际上是http客户端和http服务器的服务信息。但这很重要,如果你根本不了解它们,它往往会跑偏。所以至少阅读一下它们。
所有的 http 标头都可以分为 4 个主要组:
# | 标题类型 | 描述 | 笔记 |
---|---|---|---|
1个 | 通用标题 | 通用标题 | 用于请求和响应 |
2个 | 请求标头 | 请求标头 | 仅在请求中使用 |
3个 | 响应头 | 响应头 | 仅用于响应 |
4个 | 实体标题 | 实体标题 | 伴随每个消息实体 |
6.2 用户代理
最重要和最受欢迎的标头是User-Agent。这是一个特殊的字符串,描述了哪个客户端正在向服务器发出请求。这是客户的名字。
服务器通常会根据请求者稍微调整其响应。例如,如果从请求中可以明确请求来自手机浏览器,那么可以给它一个移动版本的 HTML 页面。
垃圾邮件机器人、下载管理器和一些浏览器发送虚假的用户代理字符串来伪装成合法客户的情况并不少见。这种情况称为用户代理欺骗或用户代理欺骗。
例如,我的用户代理现在看起来像这样:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
它包含有关浏览器、操作系统和浏览器的 Web 引擎的信息。
6.3 内容类型
第二个最受欢迎的标头是Content-Type。它用于确定服务器正在服务的资源的 MIME 类型。
即使在互联网诞生之初,为了方便起见,传输的媒体内容类型也已标准化。它们被称为Internet Media Types或简称MimeTypes。它们分为 9 类:
- 应用
- 声音的
- 例子
- 图像
- 信息
- 模型
- 多部分
- 文本
- 视频
例子:
类别 | 类型 | 描述 |
---|---|---|
声音的 | 音频/mp4 | mp4 格式的音频文件 |
音频/aac | AAC 音频文件 | |
图像 | 图片/gif | gif图片 |
图片/jpeg | jpeg图片 | |
图片/png | 图片PNG | |
文本 | 文字/CSS | CSS文件 |
文本/html | HTML文件 | |
视频 | 视频/mpeg | mpeg 格式的视频文件 |
视频/webm | webm格式的视频文件 | |
视频/3gpp | 3gpp格式的视频文件 | |
应用 | 应用程序/x-www-form-urlencoded | 编码数据 |
应用程序/邮编 | 压缩包 | |
应用程序/javascript | JavaScript | |
应用程序/xml | XML |
通常服务器知道它提供的是什么数据。但是,如果您使用自己的代码生成服务器响应,则需要指定服务器的响应类型 (Content-Type)。
6.4 内容长度
此标头指定服务器响应的长度。如果以简单的方式,则为给定文件的大小。您不需要手动设置此选项。虽然查看服务器给出的内容可能很有用,但如果由于某种原因没有得到全部答案。
6.5 接受编码
有了这个头,客户端可以向服务器表明它支持各种内容压缩算法。这样,服务端可以先将内容归档,比如用zip压缩包,然后发送给客户端,客户端就可以正确的还原出原来的内容。
存档的优点是文件越小,传输速度越快。存档的缺点 - 客户端和服务器上的额外负载。存档在传输大文件时有意义,而在传输小文件时通常没有意义。
这种标头的示例:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
支持的数据压缩算法在哪里,deflate
表示压缩程度。gzip
q
GO TO FULL VERSION