请求头,响应头

目录

常见的请求方式

GET/POST

HEAD(报文首部,验证URI有效性)

PUT/DELETE(报文文件)

OPTIONS(查询URI支持的HTTP方法)

HTTP标头:请求/响应/均可

Connection: keep-alive  TCP 就会一直保持连接。

Cache-Control

public:响应可以被任何缓存(客户端/代理服务器)缓存

private:响应只能被客户端缓存

no-cache:不应直接使用缓存的副本,而是需要先进行验证

no-store:响应和请求都不应被缓存,即不在本地存储中保存副本。

max-age=:秒

缓存

If-Modified-Since/Last-Modified

If-None-Match/ETag:服务器生成的资源标识符(哈希值/实体标签)

性能:Last-Modified>ETag

精度:ETag>Last-Modified

主体:服务端响应/客户端请求

Content-Length:字节Byte为单位

Content-Type/Accept:type/subtype ;parameter

应用程序类型(application):

application/x-www-form-urlencoded (默认)(URL encoded)表单数据被转换成键值对

application/json:JSON 数据(axios传递对象时默认)application/xml:XML 数据

多媒体类型(multipart):

multipart/form-data:用于在 HTML 表单上传文件时的数据类型。

文本类型(text):

Content-Encoding/Accept-Encoding

请求头

User-Agent:发起请求的用户代理(浏览器/应用程序)

Host:访问的主机名+端口

Origin:跨域请求时,指示请求的来源

Connection: keep-alive

Accept-Language:客户端 偏好的语言。

凭证Credentials

Authorization:在需要身份验证的情况下,包含用于认证的凭据

withCredentials:是否发送凭据

Cookie: sessionid=abc123; username=johndoe​​

响应头

Set-Cookie:session_id=abcd123; Path=/; HttpOnly

​​​​​Access-Control-Allow-Origin

Access-Control-Allow-Credentials:是否允许在跨域请求中包含凭据Credentials

Server:HTTP服务器的信息

Location:客户端重定向的URL。

Content-Range: bytes -/ 分段下载

Content-Disposition:如何显示响应体,通常用于下载文件

缓存:Cache-Control+max-age(HTTP/1.1)>Expires(HTTP/1.0)

常见的请求方式

GET/POST

"幂等":表示对同一资源的多次请求会产生与一次请求相同的结果。GET请求通常用于获取资源,而不会对资源做出改变,因此它们被认为是幂等的。

HEAD(报文首部,验证URI有效性

PUT/DELETE(报文文件)

OPTIONS(查询URI支持的HTTP方法)

HTTP标头:请求/响应/均可

Connection: keep-alive  TCP 就会一直保持连接。

隔开一段时间之后发送几次没有数据内容的网络请求来判断当前连接是不是应该继续保留。

可能会造成大量的无用途连接,白白占用系统资源

Cache-Control

public:响应可以被任何缓存(客户端/代理服务器)缓存

private:响应只能被客户端缓存

no-cache:不应直接使用缓存的副本,而是需要先进行验证

no-store:响应和请求都不应被缓存,即不在本地存储中保存副本。

max-age=<seconds>:秒

缓存

If-Modified-Since/Last-Modified

如果将资源的最后修改日期Last-Modified<=If-Modified-Since,会 304(Not Modified)

If-None-Match/ETag:服务器生成的资源标识符(哈希值/实体标签)

使用了该头部,即为条件请求,若请求标识符==资源的当前标识符,则304

If-None-Match: "d41d8cd98f00b204e9800998ecf8427e"

根据当前文件的内容,对文件生成唯一的标识,比如MD5算法

条件请求是指客户端在发起请求时附带一些条件,以便服务器根据这些条件来决定是否返回实际的响应内容。

可以理解为代码中的if,输入确定,但输出根据实际情况而不同

性能:Last-Modified>ETag

精度:ETag>Last-Modified

  • 编辑了资源文件,但是文件内容并没有更改,这样也会造成缓存失效。
  • Last-Modified 能够感知的单位时间是秒,如果文件在 1 秒内改变了多次,那么这时候的 Last-Modified 并没有体现出修改了。

「如果两种方式都支持的话,服务器会优先考虑ETag

主体:服务端响应/客户端请求

Content-Length:字节Byte为单位

Content-Length: 123

Content-Type/Accept:type/subtype ;parameter

应用程序类型(application):
application/x-www-form-urlencoded (默认)(URL encoded)表单数据被转换成键值对

键值对用&连接,键和值之间用=连接。键和值都会进行URL编码username=myusername&password=mypassword


application/json:JSON 数据(axios传递对象时默认)
application/xml:XML 数据

默认UTF-8,二进制方式传输,适用于不依赖于具体的字符编码


多媒体类型(multipart):
multipart/form-data:用于在 HTML 表单上传文件时的数据类型。

Content-Disposition: form-data; name="avatar"; filename="avatar.jpg"


文本类型(text):

text/plain:纯文本文件,例如 .txt 文件。
text/html:HTML 文档,用于网页。
text/css:层叠样式表文件,控制网页的样式。
text/xml:XML 数据。

需要Content-Type指定编码(charset=utf-8),纯文本传输

Content-Encoding/Accept-Encoding

Accept-Encoding: gzip, deflate

请求头

User-Agent:发起请求的用户代理(浏览器/应用程序)

Host:访问的主机名+端口

Origin:跨域请求时,指示请求的来源

Origin: https://www.example.com 

Connection: keep-alive

Accept-Language:客户端 偏好的语言。

Accept-Language: en-US,en;q=0.5

凭证Credentials

(例如 cookies、HTTP 认证(用户名和密码)等)

Authorization:在需要身份验证的情况下,包含用于认证的凭据

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

withCredentials:是否发送凭据
Cookie: sessionid=abc123; username=johndoe​​

响应头

Set-Cookiesession_id=abcd123; Path=/; HttpOnly

​​​​​Access-Control-Allow-Origin

Access-Control-Allow-Credentials:是否允许在跨域请求中包含凭据Credentials

Server:HTTP服务器的信息

Server: Apache/2.4.29 (Ubuntu)

Location:客户端重定向的URL。

Location: https://www.example.com/new-page

Content-Range: bytes <start>-<end>/<total> 分段下载

Content-Disposition:如何显示响应体,通常用于下载文件

Content-Disposition: attachment; filename="document.pdf"

缓存:Cache-Control+max-age(HTTP/1.1)>Expires(HTTP/1.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP请求头是用于说明是谁或什么在发送请求请求源于何处,或者客户端的喜好及能力。服务器可以根据请求头部给出的客户端信息,试着为客户端提供更好的响应。常见的请求头域包括Accept、Accept-Charset、Accept-Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent等。\[2\] HTTP响应向客户端提供一些额外信息,比如谁在发送响应响应者的功能,甚至与响应相关的一些特殊指令。这些部有助于客户端处理响应,并在将来发起更好的请求。常见的响应域包括Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate等。\[1\] HTTP请求格式一般由请求行、请求头部、空行和请求体组成。请求行用来说明请求类型、要访问的资源以及所使用的HTTP版本。请求头部用来说明服务器要使用的附加信息。空行用于分隔请求头部和请求体。请求体是可选的,用于传输请求的主体数据。\[3\] #### 引用[.reference_title] - *1* *2* [HTTP信息解读【SEO必知】](https://blog.csdn.net/pi9nc/article/details/11016517)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【计算机网络】HTTP请求响应格式](https://blog.csdn.net/weixin_30840573/article/details/98637888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值