http报文格式简介
前端和后端的沟通其实和我们生活中人与人之间的沟通是一样的,也是一种通信,只不过是计算机之间的通信。人与人之间之所以能沟通是因为我们遵循了同一种规则(协议)——语言。通信的双方只有遵循一种共同的通信协议,才能互相理解对方消息中所表示的含义,比如我们知道如何用中文来表达自己,同时我们能理解对方所表达的意思。那么前端和后端的沟通也遵循了一种协议——http协议,爱创课堂给大家就来讲一讲http协议中的报文格式简介。
http 报文格式分为两种,请求报文和响应报文。在介绍两种报文格式之前,我们先来看一个真实的 http 请求报文。
上面的nodejs代码简单地启动了一个 http 服务并且监听8080端口,将客户端携带的数据原封不动的返回。我们试着来发送一个请求:
我们通过 curl 命令向本地的8080端口发送了一个 http 请求,并且携带了 “hello” 消息,-v 选项会输出详细的通信过程。
下面我将根据上面的示例来详细介绍请求报文和响应报文的格式。
http 请求报文
一个 http 请求报文由四个部分组成:
1. 请求行(Request-Line)
2. 请求头部(Request Header Fields)
3. 回车换行(CRLF)
4. 消息体(Message Body)
贴一个 RFC 的官方定义:
请求行(Request-Line)
我们来看一开始给的示例的请求行:
请求行分为了三个部分:① 请求方法(Method)② 请求 URI③ HTTP 协议版本
三者之间用空格分隔。
请求头部(Request Header Fields)
这部分由成对的请求头部组成,用来告知服务端请求的更多信息。
消息体(Message Body)
这部分携带了本次请求需要发往服务端的信息,有的 Method 有这部分,而有的 Method 不需要这部分。比如 get 方法就没有消息体,get 方法一般都是通过 query 来传递参数。而 post 方法一般就有消息体。
http 响应报文
一个 http 响应报文也由四个部分组成:
1. 状态行(Status-Line)
2. 响应头部(Response Header Fields)
3. 回车换行(CRLF)
4. 消息体(Message Body)
状态行(Status-Line)
上面是一个典型的 http 响应状态行,我们可以看到也是由三部分组成的:① http 协议版本② 状态码(Status Code)③ 状态码的文本描述(Reason-Phrase)
响应头部(Response Header Fields)
和请求头部类似,就是两者之间有一些不同的头部字段。
消息体(Message Body)
返回给客户端的具体消息。
以上就是http报文的格式简介啦,希望小伙伴们能够好好掌握!
http报文格式简介相关推荐
- 【计算机网络】网络层 : BGP 协议 ( BGP 协议简介 | BGP 协议信息交换 | BGP 协议报文格式 | BGP-4 常用报文 | RIP 、OSPF、BGP 协议对比 )
文章目录 一.路由选择协议分类 二.BGP 协议 简介 三.BGP 协议 信息交换过程 三.BGP 协议 报文格式 四.BGP 协议 特点 五.BGP-4 协议的 四种报文 六.RIP .OSPF.B ...
- TCP/UDP报文格式及各种通信机制简介
TCP/UDP报文格式及各种通信机制简介 一.UDP报文 二.TCP报文 三.TCP通信机制 1,确认应答机制 2,超时重传机制 3,滑动窗口及快重传机制 4,流量控制 5,拥塞控制及慢启动机制 6, ...
- RLC协议简单理解1-RLC报文格式
RLC协议简介 RLC(Radio Link Control)在无线协议架构中属于数据面协议中的一部分,数据传输从基站到终端的过程中,一共要经历UDP/SCTP-->SDAP/RRC--> ...
- 报文格式【定长报文】
定长报文简介 定长报文,是目前使用最广泛的报文,同时比较简单的报文格式.理解起来也较为简单,但定长报文也有自身的局限性.其中最大的问题在于,如果定义域的长度需要加长,这时候相关的配置与程序代码都需要进 ...
- 网络-IP协议详解(报文格式、分类、NAT、子网、CIDR、抓包分析)
目录 简介 报文格式 IPv4地址 分类 网络地址转换NAT 子网划分与子网掩码 CIDR 实战 参考 简介 IP(网际互连协议,Internet Protocol)是TCP/IP协议族中最为核心的协 ...
- ARP协议的报文格式
结构ether_header定义了以太网帧首部:结构arphdr定义了其后的5个字段,其信息 用于在任何类型的介质上传送ARP请求和回答:ether_arp结构除了包含arphdr结构外, 还包含源主 ...
- tcp报文格式_面试必备TCP(一):三次握手
TCP大家都知道是什么东西,这个协议的具体报文格式如下: 标志位 URG:指示报文中有紧急数据,应尽快传送(相当于高优先级的数据). PSH:为1表示是带有push标志的数据,指示接收方在接收到该报文 ...
- 四、HTTP响应报文格式
一.响应报文格式 HTTP的响应报文的通用格式如下 主要包括状态行.首部行.空行和实体体,和请求报文的结构类似 示例 状态行 HTTP/1.1 200 OK\r\n 常见的状态码的类别如下 常用状态码 ...
- MQTT——控制报文格式
了解控制报文格式是学习MQTT中,笔者认为最为重要的一个知识点.MQTT的所有行为都离不开他.控制报文可以分为三个部分组成,分别为:固定报头.可以变报头.有效载荷部分. 注意:上面的说的报文的类型.是 ...
最新文章
- 教你设计一个超牛逼的本地缓存!
- insightface mxnet训练horovod版
- 机房收费系统之抽象工厂篇
- linux删除某个path_linux 从path中去掉某个
- magicAjax问题
- 学用状态机模式,写的报销流程,请指教
- CKEditor的使用,并实现图片上传
- 解决微信0day上线CobaltStike的几个问题
- 内存占用小的手机输入法_华为手机输入法中6个超实用的小技巧,你没用过就太可惜了!...
- 使用pythonping检查设备的连通性并记录可达设备(eNSP模拟器)
- Windows 安装 Git,sh.exe 调用 Windows 上的 .sh 格式文件
- 阶段3 2.Spring_07.银行转账案例_5 编写业务层和持久层事务控制代码并配置spring的ioc...
- SSM+Jedis初体验
- c语言打印uint64, int64
- PHP获取<textarea>换行空白格处理
- 度分秒转度数和度数转度分秒
- 【实验】实验五 MATLAB高等数学运算20211125
- 农夫山泉做起“烧水工,熟水市场的魅力究竟有多大?
- GRE单词积累(1)
- java中怎么改变白天模式,android 白天黑夜模式切换例子源码
热门文章
- 运动模糊运动拖影果冻效应分析
- R语言:calendarHeat日历图(PM2.5)
- 用浏览器下载一个文件,当点击该文件(原理)
- 对数组进行“整体赋值”
- 斐波那契数列(C/C++)
- ibatis配置文件中 parameterClass,resultClass,resultMap 表示的意思
- Linux手动安装和部署github
- Android Google原生系统刷机
- c语言程序考试试题,C语言程序设计期末考试试题(含答案)
- xgboost原理(无推导就轻易理解)