HTTP 报文结构

 我来答
腾扬数码
2022-07-18 · TA获得超过2824个赞
知道小有建树答主
回答量:3679
采纳率:100%
帮助的人:201万
展开全部

HTTP 报文有 请求报文 响应报文 两种。
请求报文 :从客户向服务器发送请求报文。
响应报文 :从服务端到客户的回答。

由于 HTTP 是 面向文本的 ,因此在报文中的每一个字段都是一些 ASCII 码串,因此各个字段的长度是不确定的。
这也造成了 HTTP 报文结构的统一性,不然无法解析出数据。

HTTP的这两种报文都由三部分组成: 开始行 首部行 实体主体

区分 请求报文 响应报文

方法 : 向请求资源指定的资源发送请求报文的方法,其作用是可以指定请求的资源按期望产生某种行为。
URL : 链接
HTTP版本 :目前有 HTTP/1.0、HTTP/1.1、HTTP/2.0 版本,其中 HTTP1.0 版本使用较广泛。

以下为 HTTP/1.0 和 HTTP/1.1 支持的方法:

状态码(Status-Code) 都是三位数字的,分为 5 大类共 33 种。
如:

1.是用来说明浏览器、服务器或报文主体的一些信息。
2.可以有好几行,也可以不使用
3.每个首部行都是由 首部字段名 [空格] 组成
4.每个首部行在结束地方都有 CRLF (『回车』和『换行』符)

HTTP 首部字段分为 4 种: 通用首部字段 请求首部字段 响应首部字段 实体首部字段

一张图展示所有字段:

脑图链接:
https://www.processon.com/view/link/58025201e4b0d6b27dd4c8af

在请求报文中,一般是 post/put 提交的表单信息。与首部行之间有 CRLF 即空行。

说了这么多,再上点例子来辅助理解。
打开 chrome 控制台,点击 NetWork , 然后输入一个网址,回车,一般我们都会有这样的场面

页面中有很多的请求,点击一个请求进去呢,比如第一个

你会发现请求报文和响应报文都在图中,不过这些都是 chrome 浏览器为了我们方便查看,帮我们美化过了的。
不知道你们是否有注意到 view source 字眼,点击看看

你会发现, 响应报文 和 请求报文就是上面讲的 HTTP 报文结构-- 开始行、首部行。

而实体主体可以在 Request Headers 下面的 Request Payload 看到,下图是我编写这边文章时的自动保存的请求。大家可以自己尝试下。

下图是使用 wireshark 抓到这条请求的 HTTP 报文,蓝色框框部分就是实体主体。

HTTP 报文有 请求报文 响应报文 两种。
HTTP的这两种报文都由三部分组成: 开始行 首部行 实体主体
开始行可用于区分两种报文。
首部行都是由 首部字段名 组成,每个首部行在结束地方都有 CRLF
首部行和实体主体间有 CRLF

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-08-29 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式