HTTP协议的报文格式

网络/协议

44人已加入

描述

HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。

HTTP协议的报文格式可以分为请求报文和响应报文两种,具体如下:

请求报文格式如下:

请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体

请求行以方法字段开始,后面分别是URL字段和HTTP协议版本字段,并以CRLF结尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。

HTTP请求报文包括请求行,请求头和请求正文3个部分,格式如下:

请求行(request line): 请求方法 + 请求URI + HTTP协议版本

请求头(request header):可选的头部信息,用于补充请求的内容和其他信息

请求正文(request body):可选的,通常包含应用程序要传输到服务端的数据

例如,以下是一个GET请求的报文:

GET /index.html HTTP/1.1

Host: www.example.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Accept-Encoding: gzip, deflate, br

Referer: https://www.google.com/

Connection: keep-alive

应答报文格式如下:

状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体

状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。

HTTP响应报文包括状态行,响应头和响应正文3个部分,格式如下:

状态行(status line):HTTP协议版本 + 状态码 + 状态描述

响应头(response header):可选的头部信息,用于补充响应的内容和其他信息

响应正文(response body):可选的,通常包含服务端返回的数据

例如,以下是一个200 OK状态码的响应报文:

HTTP/1.1 200 OK

Date: Mon, 21 Oct 2021 08:30:45 GMT

Server: Apache/2.2.14 (Win32)

Last-Modified: Tue, 29 Dec 2020 07:26:13 GMT

ETag: “0-6166700c”

Content-Type: text/html

Content-Length: 5804

Connection: close

《!doctype html》

《html》

《head》

《title》Example Web Page《/title》

《/head》

《body》

《h1》Hello World!《/h1》

《p》This is an example web page《/p》

《/body》

《/html》

以上就是HTTP协议的请求报文和响应报文的基本结构和格式。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分