报文格式

首先报文的格式如下:

其中空行用于区分报文首部和报文主体内容,是由一个回车符和一个换行符组成。中间使用CR+LF的空行区分(\r\n

CR代表回车

LF代表换行

无论是请求报文还是响应报文都需要有报文首部,当然报文主体有的请求报文是没有的。

HTTP请求报文主要由请求行、请求头部、请求正文3部分组成。

1,请求行

由3部分组成,分别为:请求方法、URL(见备注1)以及协议版本,之间由空格分隔

请求方法包括GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE以及扩展方法,当然并不是所有的服务器都实现了所有的方法,部分方法即便支持,处于安全性的考虑也是不可用的

协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1

2,请求头部

请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔

常见请求头如下:

请求头部的最后会有一个空行,表示请求头部结束,接下来为请求正文,这一行非常重要,必不可少。是头部和正文的分隔!

3,请求正文

可选部分,比如GET请求就没有请求正文

GET请求示例:


HTTP响应报文格式:

HTTP响应报文主要由状态行、响应头部、响应正文  3部分组成

1,状态行

由3部分组成,分别为:协议版本,状态码,状态码描述,之间由空格分隔(HTTP/1.1 200 OK

状态代码为3位数字,

200~299的状态码表示成功,

300~399的状态码指资源重定向,

400~499的状态码指客户端请求出错,

500~599的状态码指服务端出错

(HTTP/1.1向协议中引入了信息性状态码,范围为100~199)

这里列举几个常见的:

2,响应头部

响应示例:

与请求头部类似,为响应报文添加了一些附加信息

常见响应头部如下:

网络:HTTP报文格式相关推荐

  1. web网络和http协议(了解域名和网页,制作第一个网页,了解http协议,流程和请求报文格式)

    文章目录 web网络和http协议 了解域名 早期使用HOST文件解析域名 现在DNS(Domain Name system 域名系统) 域名的概述 域名空间结构 域名介绍 域名注册 域名注册步骤 网 ...

  2. 网络协议分层及报文格式大全

    推荐一个查看网络协议分层及报文格式的网站,非常清晰! http://www.023wg.com/message/message/cd_feature_cover.html

  3. 网络:传输层 TCP报文格式解析

    一.TCP报文格式 1.为了提供可靠的数据传输,TCP报文首部字段有较多的字段,TCP报文格式如下图: 图2 TCP报文格式 16位源和目标端口(16位):用于多路复用/多路分解来自或送至上层应用的数 ...

  4. 网络协议从入门到底层原理(6)应用层 - 域名、DNS、DHCP、HTTP(ABNF、HTTP报文格式、请求方法、头部字段、状态码、跨域)、代理、CDN

    应用层 域名( Domain Name)- 顶级域名.二级域名 DNS - DNS服务器.常用命令 DHCP(DISCOVER.OFFER.REQUEST.ACKNOWLEDGE) HTTP HTTP ...

  5. 华为网络篇 BPDU报文格式-11

    目录 一.BPDU格式 二.Configuration BPDU 三.TCN BPDU 一.BPDU报文格式 STP协议是使用STP协议帧来建立与维护STP树的,在网络出现物理拓扑发生变化时重建新的S ...

  6. 网络七层协议地图,报文格式一览无遗。绝对是干货,值得收藏

    从事网络工作的小伙伴们,在排查网络故障时,往往需要抓包,分析问题.所以,要对每一层的报文格式有一定的了解才行.但是,每一层报文协议众多,全部背下来是不可能的.只需要用到的再去查. 今天给大家分享一个网 ...

  7. 网络-IP协议详解(报文格式、分类、NAT、子网、CIDR、抓包分析)

    目录 简介 报文格式 IPv4地址 分类 网络地址转换NAT 子网划分与子网掩码 CIDR 实战 参考 简介 IP(网际互连协议,Internet Protocol)是TCP/IP协议族中最为核心的协 ...

  8. 网络协议 -- ICMP协议(1) 报文格式

    互联网控制消息协议(英文:Internet Control Message Protocol,ICMP)是互联网协议族的核心协议之一.定义在RFC 792文档中. ICMP的消息大致可以分为两类:一类 ...

  9. 网络基础知识(TCP/UDP报文格式)四

    1.TCP报文格式 源端口号: 占用16位,报文来自哪个端口. 目的端口号: 占用16位,报文要传输到哪个端口. Seq序列号: 占用32位,一次TCP通信(从TCP连接建立到断开)过程中某一个传输方 ...

最新文章

  1. ant学习笔记之(ant执行命令的详细参数和Ant自带的系统属性)
  2. linux中将文本中的单词换掉的指令_从零开始学Linux运维|19.文本处理相关命令(2)...
  3. java 微信退款接口_java版微信和支付宝退款接口
  4. CVPR!你凭什么收录我3篇论文!?
  5. Ansible入门及组件介绍
  6. c是计算机硬盘,为什么计算机硬盘上只有C驱动器?
  7. httpd 中常见的状态码
  8. 中国海洋大学第四届朗讯杯高级组 A 2718 Rocky(模拟)
  9. Bsdiff差分算法讲解
  10. JUC锁框架——ReadWriteLock
  11. 图解android开发在界面上显示图片
  12. Social Media附加价值开发的四大模式
  13. [Windwos Phone 8]多个按钮的共用事件
  14. layui 之 laypage分页插件
  15. 请你说一说红黑树的性质还有左右旋转
  16. python开发者是谁_Python 太蹩脚了?开发者总结了 8 大缘故
  17. adb设置代理与取消代理
  18. JS Date英文转中文显示
  19. 什么是UML、UML类图
  20. JAVA之翻转棋游戏

热门文章

  1. 《SpringBoot揭秘:快速构建微服务体系》—第2章2.4节本章小结*
  2. 控制iOS的导航栏和状态栏的样式
  3. Visual C++ 中的重大更改
  4. 正则表达式在js和java中的使用
  5. 将h.264视频流封装成flv格式文件
  6. Python-栈的链式表实现(没写清楚)
  7. 【机器学习入门笔记12:matplotlib绘图模块的使用】20190217
  8. html线条绕圆旋转,js围绕圆旋转
  9. java ee会员功能项目_基于jsp的会员系统-JavaEE实现会员系统 - java项目源码
  10. 用c语言编写黎曼积分计算pi,C语言实现黎曼和求定积分