请求头和响应头就是
HTTP
协议的组成部分,请求头和响应头用于在客户端(浏览器)和服务器之间携带传递额外的属性,这些属性内容会用于控制HTTP
请求和响应的行为。其中请求头是客户端带给服务端,响应头是服务端带给客户端。
常见请求头含义
Accept:
表示指定客户端能够接受哪些类型的内容。
当客户端用接口请求时,设置
Accept
会告诉服务器要返回合适的类型格式
Accept: */*
Accept-Charset:
表示指定客户端能够接受哪些类型的字符集。
Accept-Charset: utf-8, iso-8859-1;q=0.5
Cookie:
表示用于存储用户特有信息,让用品去识别用户的具体身份。通过
Cookie
传递用户ID
,让服务器端识别用户身份。
Cookie: SESSION=ZjZhY2M3NDAtOWFjYS00HTJmLWEyMTctYjkxMGY1YjU2MmEx
Origin:
表示跨域相关信息,用于设置
CORS
的请求。通过Origin
头,防止陌生的域进行请求。
Origin: https://explame.com
Referer:
表示当前的请求是从哪个
url
链接过来的。
Referer: http://192.168.111.131:8082/admin/getList
User-Agent:
表示包含发起请求的用户的一些代理信息,例如浏览器的具体版本和具体类型。
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36
If-Modified-Since:
表示客户端在上次获取资源的具体时间。
If-Modified-Since: Tue, 10 Oct 2021 11:01:01 GMT
Range:
表示指定第一个字节到指定最后字节之间的位置,用于告诉服务器想取那个范围的数据。
Range: bytes=0-255
常见响应头含义:
Access-Control-Allow-Origin:
表示用于配置
CORS
跨域相关,指定允许访问资源的域名,如果配置为*
表示所有可访问。
Access-Control-Allow-Origin: *
Cache-Control:
表示缓存机制的缓存策略。
以下是配置:
Cache-Control:public // 响应会被缓存
Cache-Control:must-revalidate // 指定条件下会缓存重用
Cache-Control:no-cache // 直接向服务器端请求最新资源,不缓存
Cache-Control:max-age=10 // 设置缓存的有效时间
Cache-Control:no-store // 在任何条件下,响应都不会被缓存
Content-Length:
表示当前响应体的具体大小,具体单位为字节。
Content-Length: 9527
Content-Type:
表示响应体的具体数据格式是什么。
Content-Type: application/json
Date:
表示服务器开始对客户端发送响应的具体时间。
Date: Sun, 24 Nov 2024 09:01:56 GMT
ETag:
表示用于验证缓存,确保当前的资源未被修改过。如果没有更改过则返回
304
状态码,减少不必要传输。
ETag: "1234952790pc"
Location:
表示用于重定向,指向一个新的
URL
。
Location: https://test.com/newPage
Set-Cookie:
表示服务器通过这个请求头把
cookie
带到客户端。客户端会在后面请求中自动将这cookie
放在请求头中。
Set-Cookie: SESSION=MmQ5N2Q1ODMtOTk2ZS00ZjUzLTg0ZDctOTc3MDMxNmIxNmEz; Path=/; HttpOnly
Server:
表示告诉这个服务器软件的信息,例如版本。
Server: Apache/1.4.38 (Ubuntu)
X-Powered-By:
表示返回后端使用的具体框架或技术栈。
X-Powered-By: Express
Content-Encoding:
表示响应体的编码方式,例如
gzip
压缩。
Content-Encoding: gzip
Last-Modified:
表示资源最后被修改的具体时间
Last-Modified: Tue, 10 Oct 2021 11:00:00 GMT
Expires:
跟缓存相关,表示指定资源的过期时间,这个时间前都不过期。
Expires: Wed, 21 Oct 2021 07:21:00 GMT