http请求构成

6 篇文章 2 订阅
4 篇文章 0 订阅

面试的时候经常被问到http请求:

一、http请求内容:

我们打开浏览器的网页,然后在地址输入网址,F12查看request请求,会发现,每个http请求的Headers都包含以下部分:Genaral,Request Headers,Response Headers,Request Payload。

General(不属于headers,只用于收集请求url和响应的status等信息):

Request Headers(请求头):

Response Headers(响应头):

Query String Parameters(查询字符串参数/请求参数):

二、关于HTTP Headers分类:

在Heanders中,有以下几部分:Genaral headers(和上面说的General不同,这个只是为了方便统计),Request Headers,Response Headers,Entity Headers(也是为了方便统计)。

所以一个完整的请求头或者响应头,应该除了自身,还包括 General Headers和Entity Headers:

Genaral headers同时适用于请求和响应消息,但与最终消息传输的数据无关的消息头。Cache-Control控制缓存的行为
Connection决定当前的事务完成后,是否会关闭网络连接;keep-alive 持续性的连接 由于TCP通信需要进行3次握手,所以可以建立一定程度上的持续性连接,减少进行3次握手的次数,提高通讯性能.

Date

创建报文的日期时间
Keep-Alive

用来设置超时时长和最大请求数;

Via——代理服务器的相关信息

Warning错误通知
Trailer允许发送方在分块发送的消息后面添加额外的元信息
Transfer-Encoding指定报文主体的传输编码方式
Upgrade升级为其他协议;
Request Headers包含更多有关要获取的资源或客户端本身信息的消息头。

Accept

客户端可以处理的内容类型(允许的格式)
Accept-Charset客户端可以处理的字符集类型
Accept-Encoding客户端能够理解的内容编码方式(压缩)
Accept-Language客户端可以理解的自然语言
AuthorizationWeb 认证信息
Cookie通过Set-Cookie设置的值
DNT表明用户对于网站追踪的偏好
From用户的电子邮箱地址
Host请求资源所在服务器
If-Match比较实体标记(ETag)
If-Modified-Since比较资源的更新时间
If-None-Match比较实体标记(与 If-Match 相反)
If-Range资源未更新时发送实体 Byte 的范围请求
If-Unmodified-Since比较资源的更新时间(与 If-Modified-Since 相反)
Origin表明了请求来自于哪个站点
Proxy-Authorization代理服务器要求客户端的认证信息
Range实体的字节范围请求
Referer对请求中 URI 的原始获取方(访问来源)
TE指定用户代理希望使用的传输编码类型
Upgrade-Insecure-Requests表示客户端优先选择加密及带有身份验证的响应
User-Agent浏览器信息,客户端类型 IE 火狐 chrom Safari​
Response Headers包含有关响应的补充信息,如其位置或服务器本身(名称和版本等)的消息头。

Accept-Ranges

是否接受字节范围请求
Age消息对象在缓存代理中存贮的时长,以秒为单位
Clear-Site-Data表示清除当前请求网站有关的浏览器数据(cookie,存储,缓存)
Content-Security-Policy允许站点管理者在指定的页面控制用户代理的资源

Content-Security-Policy-Report-Only

ETag

资源的匹配信息
Location令客户端重定向至指定 URI
Proxy-Authenticate代理服务器对客户端的认证信息
Public-Key-Pins包含该Web 服务器用来进行加密的 public key (公钥)信息
Public-Key-Pins-Report-Only设置在公钥固定不匹配时,发送错误信息到report-uri
Referrer-Policy用来监管哪些访问来源信息——会在 Referer 中发送
ServerHTTP 服务器的安装信息
Set-Cookie服务器端向客户端发送 cookie
Strict-Transport-Security它告诉浏览器只能通过HTTPS访问当前资源
Timing-Allow-Origin用于指定特定站点,以允许其访问Resource Timing API提供的相关信息
Tk显示了对相应请求的跟踪情况
Vary服务器缓存的管理信息
WWW-Authenticate定义了使用何种验证方式去获取对资源的连接
X-XSS-Protection当检测到跨站脚本攻击 (XSS)时,浏览器将停止加载页面
Entity Headers包含有关实体主体的更多信息,比如主体长(Content-Length)度或其MIME类型。

Allow

客户端可以处理的内容类型,这种内容类型用MIME类型来表示
Content-Encoding用于对特定媒体类型的数据进行压缩
Content-Language访问者希望采用的语言或语言组合
Content-Length发送给接收方的消息主体的大小,即请求信息内容长度
Content-Location替代对应资源的 URI
Content-Range实体主体的位置范围
Content-Type告诉客户端实际返回的内容的内容类型和编码,即请求数据类型 application/x-www-form-urlencoded 字符串, multipart/form-data 二进制,​ text/html;charset=UTF-8
Expires包含日期/时间, 即在此时候之后,响应过期
Last-Modified资源的最后修改日期时间
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆〇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值