HTTP报文格式

本文详细介绍了HTTP报文的两种类型——请求报文和响应报文的格式。请求报文包含请求行、首部行、空行和实体,常见的请求方法有GET、POST、HEAD等。响应报文包括状态行、首部行、空行和数据,状态码如200表示请求成功。此外,还讨论了各种HTTP方法的用途及其在数据传输中的作用。
摘要由CSDN通过智能技术生成

一、HTTP报文类型

在前面的文章中我们提到,HTTP报文格式有两种类型,分别为请求报文和响应报文。
请求报文是客户端发送给服务器端的,而响应报文是服务器端发送给客户端的。本篇内容就是介绍一下这两类报文的格式。

二、HTTP请求报文

1、请求报文格式

请看下面例子:
在这里插入图片描述

上图所示的例子中共有5行。
第一行称之为请求行;
第二行到第五行是头部行,在头部行给出若干和请求相关的信息。
例如第二行Host给出资源在哪个主机上面;
第三行给出客户端软件的类型,
第四行表示不使用持久连接;
第五行给出所接收语言的类型。
注:详细的头部行字段类型在RFC文档中都有。
在头部行下面需要有一个额外的回车换行来表示结束。若没有回车换行,则解析报文时会出错。
通过例子可以看到请求报文一般格式如下图:
在这里插入图片描述
由如下几部分构成:
(1)请求行:方法+空格+URI+空格+版本
URI:对资源的标识符
版本:HTTP的版本号。
(2)首部行:首部字段名+空格+值
(3)空行。
(4)HTTP报文的实体。实体前面的东西即请求行、首部行和空行是脑袋,它所起的作用是控制。要传输的东西是放在主体中。这也是很多协议所采用的结构方式。

2、请求方法类型

如下图所示:
在这里插入图片描述
在版本HTTP/1.0中有三个重要的请求方法类型。
(1)GET:客户端向服务器端请求资源
(2)POST:把客户端的信息传送给服务器端
(3)HEAD:服务器收到请求时,用HTTP报文进行响应,但不返回请求对象,主要用在通信的控制操作领域。
在版本HTTP/1.1中除了上述三个还增加了PUT和DELETE方法。
(4)PUT:文件在实体主体中被上载到URL字段指定的路径。
(5)DELETE:删除URL字段指定的文件。
注:向服务器传送信息POST并不是唯一的方法,在当今应用中使用GET方法向服务器中传送数据是更常用的方法。因为可以把要传送的数据以参数的方式写在URL里,使用GET传送过去,这时服务器可以直接在URL里将相关参数提取出来,实现了和POST类同的方法。但是当传送大量数据时还是需要POST方法。例如上传表单时各字段输入值:
在这里插入图片描述
后面有个问号,问号表示后面这几个是参数字段。monkey和banana是animalsearch程序的参数。当参数不多时,这种方法可以将参数上传给服务器同时加快了处理的速度。

三、HTTP响应报文

1、响应报文格式

在这里插入图片描述
如上图所示,
(1)状态行:包括版本、状态码和短语。
(2)首部行:包含了重要的控制信息,依次为:
不使用持久连接;
data后面是时间;
服务器的类型或者是Web服务器的版本;
对象最近一次被修改的时间;
对象的长度;
对象的类型;
(3)回车换行;
(4)真正的数据。

2、响应报文的状态码

状态码是非常有用的一种参数,它向客户端传递了响应刚才HTTP请求报文的一些控制信息。最常用的是200 OK;200是状态码,表示请求成功。短语可以自己设置。上面例子中使用的状态码也是200 OK。
常用的状态码有:
(1)200 OK:请求成功,所请求信息在响应消息中返回;
(2)301 Moved Permanently:所请求的对象已永久迁移,新的URL在本响应消息的头部指出;
(3)400 Bad Request:该请求不能被服务器解读;
(4)404 Not Found:服务器上不存在所请求文档;
(5)500 Internal Server Error:服务器内部错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值