首页 > 编程知识 正文

HTTP(超文本传输协议)报文格式

时间:2023-05-04 21:16:07 阅读:255411 作者:1465

HTTP请求报文

http请求报文数据分为三部分:

请求行请求头部请求数据

http请求报文的格式如下图所示:

 

下面是Get请求的例子:

GET /92316461213.jpg HTTP/1.1Host img.mukewang.comUser-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36Accept image/webp,image/*,*/*;q=0.8Referer http://www.imooc.com/Accept-Encoding gzip, deflate, sdchAccept-Language zh-CN,zh;q=0.8

第一部分:请求行

对应着请求行可以看出来Get请求,协议的版本为http1.1访问的资源为/92316461213.jpg

第二部分:请求头部,服务器要使用的附加信息

下面简单介绍部分请求头部信息。

Mozilla/5.0由于历史上的浏览器大战,当时想获得图文并茂的网页,就必须宣称自己是 Mozilla 浏览器。此事导致如今User-Agent里通常都带有Mozilla字样,出于对历史的尊重,大家都会默认填写该部分。Windows NT 10.0; WOW64说明操作系统的信息。AppleWebKit/537.36 (KHTML, like Gecko)引擎版本。Chrome/51.0.2704.106Safari/537.36浏览器版本。

第三部分:空行

根据HTTP报文格式来看请求头部之下必须是空行。

第四部分:请求数据

下面是POST请求的例子:

POST / HTTP1.1Host:www.wrox.comUser-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)Content-Type:application/x-www-form-urlencodedContent-Length:40Connection: Keep-Alivename=Professional%20Ajax&publisher=Wiley

第一部分:请求行

第二部分:请求头部

第三部分:空行

第四部分:请求数据

HTTP响应报文

http响应报文数据分为三部分:

响应头部消息报头响应数据

http请求报文的格式如下图所示:

下面是POST响应的例子:

HTTP/1.1 200 OKDate: Fri, 22 May 2009 06:07:21 GMTContent-Type: text/html; charset=UTF-8<html> <head></head> <body> <!--body goes here--> </body></html>

第一部分:响应头部

由HTTP版本号,状态码,状态消息三部分组成

第二部分:消息报头

第二行和第三行为消息报头。
Date:生成响应的日期和时间;
Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8

第三部分:空行

消息报头之后必须跟一个空行

第四部分:响应数据

服务器返回给客户端的文本信息,空行后面的html部分为响应正文。

请求返回状态码如下所示:

200 OK 当您的操作将在响应正文中返回数据时,出现此结果。
204 No Content 当您的操作成功,但不在响应正文中返回数据时,出现此结果。
304 Not Modified(重定向) 当测试实体自上次检索以来是否被修改时,出现此结果。
403 Forbidden 客户端错误
401 Unauthorized 客户端错误
413 Payload Too Large(客户端错误) 当请求长度过长时,出现此结果。 400 BadRequest(客户端错误) 当参数无效时,出现此结果。 404 Not Found(客户端错误) 当资源不存在时,出现此结果。
405 Method Not Allowed(客户端错误)由于方法和资源组合不正确而出现此错误。 例如,您不能对一个实体集合使用 DELETE 或 PATCH。
412 Precondition Failed 客户端错误
501 Not Implemented(服务器错误) 当未实施某个请求的操作时,出现此结果。
503 Service Unavailable(服务器错误) 当 Web API 服务不可用时,出现此结果。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。