网络:HTTP报文格式
报文格式
首先报文的格式如下:
其中空行用于区分报文首部和报文主体内容,是由一个回车符和一个换行符组成。中间使用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报文格式相关推荐
- web网络和http协议(了解域名和网页,制作第一个网页,了解http协议,流程和请求报文格式)
文章目录 web网络和http协议 了解域名 早期使用HOST文件解析域名 现在DNS(Domain Name system 域名系统) 域名的概述 域名空间结构 域名介绍 域名注册 域名注册步骤 网 ...
- 网络协议分层及报文格式大全
推荐一个查看网络协议分层及报文格式的网站,非常清晰! http://www.023wg.com/message/message/cd_feature_cover.html
- 网络:传输层 TCP报文格式解析
一.TCP报文格式 1.为了提供可靠的数据传输,TCP报文首部字段有较多的字段,TCP报文格式如下图: 图2 TCP报文格式 16位源和目标端口(16位):用于多路复用/多路分解来自或送至上层应用的数 ...
- 网络协议从入门到底层原理(6)应用层 - 域名、DNS、DHCP、HTTP(ABNF、HTTP报文格式、请求方法、头部字段、状态码、跨域)、代理、CDN
应用层 域名( Domain Name)- 顶级域名.二级域名 DNS - DNS服务器.常用命令 DHCP(DISCOVER.OFFER.REQUEST.ACKNOWLEDGE) HTTP HTTP ...
- 华为网络篇 BPDU报文格式-11
目录 一.BPDU格式 二.Configuration BPDU 三.TCN BPDU 一.BPDU报文格式 STP协议是使用STP协议帧来建立与维护STP树的,在网络出现物理拓扑发生变化时重建新的S ...
- 网络七层协议地图,报文格式一览无遗。绝对是干货,值得收藏
从事网络工作的小伙伴们,在排查网络故障时,往往需要抓包,分析问题.所以,要对每一层的报文格式有一定的了解才行.但是,每一层报文协议众多,全部背下来是不可能的.只需要用到的再去查. 今天给大家分享一个网 ...
- 网络-IP协议详解(报文格式、分类、NAT、子网、CIDR、抓包分析)
目录 简介 报文格式 IPv4地址 分类 网络地址转换NAT 子网划分与子网掩码 CIDR 实战 参考 简介 IP(网际互连协议,Internet Protocol)是TCP/IP协议族中最为核心的协 ...
- 网络协议 -- ICMP协议(1) 报文格式
互联网控制消息协议(英文:Internet Control Message Protocol,ICMP)是互联网协议族的核心协议之一.定义在RFC 792文档中. ICMP的消息大致可以分为两类:一类 ...
- 网络基础知识(TCP/UDP报文格式)四
1.TCP报文格式 源端口号: 占用16位,报文来自哪个端口. 目的端口号: 占用16位,报文要传输到哪个端口. Seq序列号: 占用32位,一次TCP通信(从TCP连接建立到断开)过程中某一个传输方 ...
最新文章
- ant学习笔记之(ant执行命令的详细参数和Ant自带的系统属性)
- linux中将文本中的单词换掉的指令_从零开始学Linux运维|19.文本处理相关命令(2)...
- java 微信退款接口_java版微信和支付宝退款接口
- CVPR!你凭什么收录我3篇论文!?
- Ansible入门及组件介绍
- c是计算机硬盘,为什么计算机硬盘上只有C驱动器?
- httpd 中常见的状态码
- 中国海洋大学第四届朗讯杯高级组 A	 2718 Rocky(模拟)
- Bsdiff差分算法讲解
- JUC锁框架——ReadWriteLock
- 图解android开发在界面上显示图片
- Social Media附加价值开发的四大模式
- [Windwos Phone 8]多个按钮的共用事件
- layui 之 laypage分页插件
- 请你说一说红黑树的性质还有左右旋转
- python开发者是谁_Python 太蹩脚了?开发者总结了 8 大缘故
- adb设置代理与取消代理
- JS Date英文转中文显示
- 什么是UML、UML类图
- JAVA之翻转棋游戏
热门文章
- 《SpringBoot揭秘:快速构建微服务体系》—第2章2.4节本章小结*
- 控制iOS的导航栏和状态栏的样式
- Visual C++ 中的重大更改
- 正则表达式在js和java中的使用
- 将h.264视频流封装成flv格式文件
- Python-栈的链式表实现(没写清楚)
- 【机器学习入门笔记12:matplotlib绘图模块的使用】20190217
- html线条绕圆旋转,js围绕圆旋转
- java ee会员功能项目_基于jsp的会员系统-JavaEE实现会员系统 - java项目源码
- 用c语言编写黎曼积分计算pi,C语言实现黎曼和求定积分