网络:HTTP报文格式

版权声明:本博客为记录本人学习过程而开,内容大多从网上学习与整理所得,若侵权请告知! https://blog.csdn.net/Fly_as_tadpole/article/details/86598677

报文格式

首先报文的格式如下:

其中空行用于区分报文首部和报文主体内容,是由一个回车符和一个换行符组成。中间使用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,响应头部

响应示例:

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

常见响应头部如下:

猜你喜欢

转载自blog.csdn.net/Fly_as_tadpole/article/details/86598677