Open linwu-hi opened 1 year ago
HTTP头字段(HTTP header fields)是指在超文本传输协议(HTTP)的请求和响应消息中的消息头部分。它们定义了一个HTTP事务中的操作参数。HTTP头部字段可以根据需要自定义,因此可能在Web服务器和浏览器上发现非标准的头字段。
下面是一个HTTP请求的请求头示例:
GET /home.html HTTP/1.1 Host: developer.mozilla.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Referer: https://developer.mozilla.org/testpage.html Connection: keep-alive Upgrade-Insecure-Requests: 1 If-Modified-Since: Mon, 18 Jul 2016 02:36:04 GMT If-None-Match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a" Cache-Control: max-age=0
以下是一些常见的HTTP请求头字段及其说明:
用于指定能够接受的回应内容类型(Content-Types)。
用于指定能够接受的字符集。
用于指定能够接受的编码方式列表,常见的有gzip、deflate等。
用于指定能够接受的回应内容的自然语言列表,例如en-US表示英语(美国)。
用于超文本传输协议的认证的认证信息,通常用于进行用户身份验证。
用来指定在请求/响应链中的所有缓存机制都必须遵守的指令,例如no-cache表示不缓存。
用于服务器通过Set-Cookie发送的一个HTTP Cookie。
表示请求体的长度,以八位字节数组(8位的字节)表示。
用于指定请求体的多媒体类型,例如application/x-www-form-urlencoded表示表单数据。
表示浏览器的浏览器身份标识字符串,用于标识用户使用的浏览器信息。
表示服务器的域名,以及服务器所监听的传输控制协议端口号。
表示请求的来源页面,即用户是从哪个页面跳转过来的。
用于发起一个针对跨来源资源共享的请求,表示允许跨域请求。
通过配合请求头和响应头,可以实现一些常见的功能:
通过请求头的If-Modified-Since、If-None-Match和响应头的Last-Modified、ETag实现缓存的协商,减少不必要的数据传输。
If-Modified-Since
If-None-Match
Last-Modified
ETag
通过请求头的Cookie字段,服务器可以在客户端维护会话状态,实现用户登录状态、购物车、个性化设置等功能。
Cookie
以上是HTTP常见请求头及其作用的简要介绍,HTTP头字段在HTTP通信中扮演着重要的角色,帮助服务器和浏览器进行信息交换和功能实现。
面试官:说说 HTTP 常见的请求头有哪些? 作用?
一、什么是HTTP头字段?
HTTP头字段(HTTP header fields)是指在超文本传输协议(HTTP)的请求和响应消息中的消息头部分。它们定义了一个HTTP事务中的操作参数。HTTP头部字段可以根据需要自定义,因此可能在Web服务器和浏览器上发现非标准的头字段。
下面是一个HTTP请求的请求头示例:
二、常见的请求头字段
以下是一些常见的HTTP请求头字段及其说明:
1. Accept
用于指定能够接受的回应内容类型(Content-Types)。
2. Accept-Charset
用于指定能够接受的字符集。
3. Accept-Encoding
用于指定能够接受的编码方式列表,常见的有gzip、deflate等。
4. Accept-Language
用于指定能够接受的回应内容的自然语言列表,例如en-US表示英语(美国)。
5. Authorization
用于超文本传输协议的认证的认证信息,通常用于进行用户身份验证。
6. Cache-Control
用来指定在请求/响应链中的所有缓存机制都必须遵守的指令,例如no-cache表示不缓存。
7. Cookie
用于服务器通过Set-Cookie发送的一个HTTP Cookie。
8. Content-Length
表示请求体的长度,以八位字节数组(8位的字节)表示。
9. Content-Type
用于指定请求体的多媒体类型,例如application/x-www-form-urlencoded表示表单数据。
10. User-Agent
表示浏览器的浏览器身份标识字符串,用于标识用户使用的浏览器信息。
11. Host
表示服务器的域名,以及服务器所监听的传输控制协议端口号。
12. Referer
表示请求的来源页面,即用户是从哪个页面跳转过来的。
13. Origin
用于发起一个针对跨来源资源共享的请求,表示允许跨域请求。
三、使用场景
通过配合请求头和响应头,可以实现一些常见的功能:
1. 协商缓存
通过请求头的
If-Modified-Since
、If-None-Match
和响应头的Last-Modified
、ETag
实现缓存的协商,减少不必要的数据传输。2. 会话状态管理
通过请求头的
Cookie
字段,服务器可以在客户端维护会话状态,实现用户登录状态、购物车、个性化设置等功能。以上是HTTP常见请求头及其作用的简要介绍,HTTP头字段在HTTP通信中扮演着重要的角色,帮助服务器和浏览器进行信息交换和功能实现。
参考文献