什么是请求头?常见的请求头有哪些?

简介: 请求头(Request Headers)是在HTTP协议中用于传递关于请求的额外信息的部分。它包含了客户端(通常是浏览器或应用程序)与服务器之间进行通信所需的元数据

一、什么是请求头?

请求头(Request Headers)是在HTTP协议中用于传递关于请求的额外信息的部分。它包含了客户端(通常是浏览器或应用程序)与服务器之间进行通信所需的元数据。


请求头的作用有以下几个方面:


  1. 传递请求的附加信息:请求头可以携带一些客户端相关的信息,如用户代理(User-Agent)、接受的内容类型(Accept)、身份验证凭证(Authorization)等。这些信息可以帮助服务器更好地理解和处理请求。

  2. 控制缓存行为:通过请求头中的Cache-Control字段,客户端可以告知服务器如何处理响应的缓存,包括是否使用缓存、缓存的有效期等。

  3. 进行身份验证:请求头中的Authorization字段常用于传递身份验证凭证,如基本认证(Basic Authentication)或令牌(Token)。服务器可以根据这些凭证对请求进行身份验证,以确定是否允许访问受保护的资源。

  4. 控制请求体的格式:Content-Type字段指定了请求体中数据的格式类型,如JSON、表单数据等。服务器可以根据Content-Type来正确解析请求体中的数据。

  5. 提供跳转来源信息:Referer字段指示了当前请求是从哪个URL页面发起的,可以帮助服务器识别请求的来源。


通过请求头,客户端可以向服务器提供更多的信息,以便服务器能够根据这些信息做出相应的处理和响应。同时,服务器也可以使用请求头来控制和管理请求的行为,确保通信的顺利进行。


二、常见的请求头有哪些?

在PHP中,常见的请求头(Request Headers)包括以下几个:


  1. User-Agent:标识客户端使用的浏览器和操作系统信息。可以通过$_SERVER['HTTP_USER_AGENT']获取。

  2. Accept:指定客户端能够处理的内容类型,即可接受的媒体类型。可以通过$_SERVER['HTTP_ACCEPT']获取。

  3. Content-Type:指定请求体中的数据格式类型。常见的取值有application/json、application/x-www-form-urlencoded等。可以通过$_SERVER['CONTENT_TYPE']获取。

  4. Authorization:用于进行身份验证的凭证信息。常见的取值有Bearer Token、Basic Authentication等。可以通过$_SERVER['HTTP_AUTHORIZATION']获取。

  5. Cookie:包含来自客户端的Cookie信息。可以通过$_SERVER['HTTP_COOKIE']获取。

  6. Referer:指示当前请求是从哪个URL页面发起的。可以通过$_SERVER['HTTP_REFERER']获取。

  7. Host:指定服务器的域名或IP地址。可以通过$_SERVER['HTTP_HOST']获取。

  8. X-Requested-With:指示请求是否由Ajax发起的。通常在Ajax请求中会设置该头部字段,取值为"XMLHttpRequest"。可以通过$_SERVER['HTTP_X_REQUESTED_WITH']获取。

  9. Content-Length:指定请求体的长度。可以通过$_SERVER['CONTENT_LENGTH']获取。

  10. Cache-Control:控制缓存行为的指令。用于指定客户端和代理服务器如何缓存响应。可以通过$_SERVER['HTTP_CACHE_CONTROL']获取。


这些是PHP中常见的请求头,可以使用$_SERVER超全局变量来获取它们的值。根据具体的需求,你可以在PHP中通过相应的方法或变量来处理这些请求头信息


三、常见的http头部?

在 PHP 中,常见的 HTTP 头部(HTTP Headers)可以通过 header() 函数来设置。以下是一些常见的 HTTP 头部及其用途:


Content-Type:指定服务器返回的响应内容类型。常见取值有 text/html、application/json、image/jpeg 等。

header('Content-Type: text/html; charset=utf-8');


Location:用于重定向到其他页面。当服务器需要将客户端重定向到另一个页面时,可以设置 Location 头部。


header('Location: http://example.com/redirected-page');


Cache-Control:设置缓存控制策略,用于指示客户端或中间代理如何缓存响应。常见的取值有 no-cachemax-age 等。


header('Cache-Control: no-cache, max-age=0');


Expires:设置响应的过期时间。指定一个日期和时间,在该时间之后,客户端将不再使用缓存的副本。


$expires = gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT'; header('Expires: ' . $expires);


Set-Cookie:设置要在客户端存储的 Cookie 值。可以使用该头部为客户端设置会话标识符、跟踪信息等。


setcookie('name', 'value', time() + 3600, '/'); header('Set-Cookie: name=value; expires=Wed, 01-Sep-2023 00:00:00 GMT; path=/');


php复制代码Access-Control-Allow-Origin:用于跨域请求时,指定允许访问资源的源。可以设置为特定域名或 *(表示允许任意来源)。


header('Access-Control-Allow-Origin: https://example.com');


Content-Disposition:指示客户端如何处理服务器返回的响应体。常见用途是设置响应为下载文件。


header('Content-Disposition: attachment; filename="file.txt"');
目录
相关文章
|
6月前
|
数据采集 JSON 网络协议
请你详细介绍一下HTTP请求头的常用格式
【2月更文挑战第21天】【2月更文挑战第65篇】请你详细介绍一下HTTP请求头的常用格式
68 2
|
5天前
|
Web App开发 JSON 缓存
GET 和 POST 请求的请求头有哪些常见字段
【10月更文挑战第27天】不同的应用场景和服务器要求可能会使用到其他一些请求头字段,这些字段在HTTP请求和响应的交互过程中起着重要的作用,帮助客户端和服务器更好地进行数据传输和处理。
|
1月前
|
存储 Java 程序员
【HTTP】请求“报头”,Referer 和 Cookie
【HTTP】请求“报头”,Referer 和 Cookie
35 1
【HTTP】请求“报头”,Referer 和 Cookie
|
3月前
|
数据采集 Python
请求头处理
【8月更文挑战第9天】
44 4
|
6月前
|
数据采集 API
请解释什么是 HTTP 请求头,以及在爬虫中为什么要设置请求头?
请解释什么是 HTTP 请求头,以及在爬虫中为什么要设置请求头?
195 2
|
6月前
|
Python
HTTP请求头
这是一段描述如何处理HTTP请求头的Python代码。具体来说,这段代码的功能包括:
78 3
|
6月前
|
JSON 缓存 JavaScript
常见请求头与响应头你了解哪些?
常见请求头与响应头你了解哪些?
|
12月前
HttpURLConnection中请求头中携带Token的使用方法
HttpURLConnection中请求头中携带Token的使用方法
422 2
|
Web App开发 iOS开发 开发者
HTTP 请求头 | 学习笔记
快速学习 HTTP 请求头
HTTP 请求头 | 学习笔记
|
缓存 前端开发 Java
常用响应头介绍| 学习笔记
快速学习常用响应头介绍,介绍了 常用响应头介绍系统机制, 以及在实际应用过程中如何使用。
常用响应头介绍| 学习笔记