HTTP请求头各字段解释

本文详细介绍了HTTP请求头中的关键字段,如Accept、Accept-Charset、Accept-Encoding等的作用及用途,帮助理解客户端与服务器间的数据交互过程。
Accept 这个头信息指定浏览器或其他客户端可以处理的 MIME 类型。值 image/png 或 image/jpeg 是最常见的两种可能值。
Accept-Charset 这个头信息指定浏览器可以用来显示信息的字符集。例如 ISO-8859-1。
Accept-Encoding 这个头信息指定浏览器知道如何处理的编码类型。值 gzip 或 compress 是最常见的两种可能值。
Accept-Language 这个头信息指定客户端的首选语言,在这种情况下,Servlet 会产生多种语言的结果。例如,en、en-us、ru 等。
Authorization 这个头信息用于客户端在访问受密码保护的网页时识别自己的身份。
Connection 这个头信息指示客户端是否可以处理持久 HTTP 连接。持久连接允许客户端或其他浏览器通过单个请求来检索多个文件。值 Keep-Alive 意味着使用了持续连接。
Content-Length 这个头信息只适用于 POST 请求,并给出 POST 数据的大小(以字节为单位)。
Cookie 这个头信息把之前发送到浏览器的 cookies 返回到服务器。
Host 这个头信息指定原始的 URL 中的主机和端口。
If-Modified-Since 这个头信息表示只有当页面在指定的日期后已更改时,客户端想要的页面。如果没有新的结果可以使用,服务器会发送一个 304 代码,表示 Not Modified 头信息。
If-Unmodified-Since 这个头信息是 If-Modified-Since 的对立面,它指定只有当文档早于指定日期时,操作才会成功。
Referer 这个头信息指示所指向的 Web 页的 URL。例如,如果您在网页 1,点击一个链接到网页 2,当浏览器请求网页 2 时,网页 1 的 URL 就会包含在 Referer 头信息中。
User-Agent 这个头信息识别发出请求的浏览器或其他客户端,并可以向不同类型的浏览器返回不同的内容。

其中的If-Modified-Since,可能解释的有点不清楚:

  Last-Modified 与If-Modified-Since都是用来记录页面的最后修改时间。当客户端访问页面时,服务器会将页面最后修改时间通过 Last-Modified 标识由服务器发往客户端,客户端记录修改时间,再次请求本地存在的cache页面时,客户端会通过 If-Modified-Since 头将先前服务器端发过来的最后修改时间戳发送回去,服务器端通过这个时间戳判断客户端的页面是否是最新的,如果不是最新的,则返回新的内容,如果是最新的,则 返回 304 告诉客户端其本地 cache 的页面是最新的,于是客户端就可以直接从本地加载页面了,这样在网络上传输的数据就会大大减少,同时也减轻了服务器的负担。

转自:点击打开链接

HTTP请求头字段来源多样,有规范定义、客户端需求、服务器要求以及历史遗留等。 规范定义方面,像Host、User - Agent、Content - Length、Cookie、Authorization、Accept - Encoding、Accept - Language、Cache - Control、If - Modified - Since等,这些是在HTTP标准规范里明确规定的,用于传递请求的元数据、进行内容协商、性能优化、用户认证等操作。例如Host字段指定目标域名或IP,User - Agent说明客户端的信息,Authorization用于处理用户的认证等[^1]。 客户端需求也是重要来源。客户端为了能准确向服务器传达自身情况和请求意图,会添加一些字段。如User - Agent字段,客户端借此告知服务器自己使用的浏览器等信息;Content - Length字段用来表明请求数据的长度,方便服务器接收处理数据[^1]。 服务器要求也会促使特定请求头字段产生。例如在进行用户认证时,服务器要求客户端在请求头中添加Authorization字段,客户端就得按照要求添加该字段并提供相应认证信息。在Spring MVC中,可使用@RequestHeader("Authorization")来从请求头获取该字段的值[^1][2]。 还有一些非标准的请求头字段,是因特定应用场景或历史原因产生的。像Front - End - Https是微软应用程序和负载均衡器使用的非标准header字段;X - Http - Method - Override则是在用户代理或者防火墙不支持直接使用put或者delete方法发送请求时,用来覆盖请求中指定方法的字段[^3]。 ```python # 示例代码,模拟使用Python获取请求头中Authorization字段 import requests url = 'https://example.com' headers = { 'Authorization': 'Bearer your_token' } response = requests.get(url, headers=headers) print(response.request.headers.get('Authorization')) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值