前言
所有的HTTP报文都可以分为两类:请求报文(request message)和响应报文(response message)。请求报文会向Web服务器请求一个动作,响应报文会将请求的结果返回给客户端。请求和响应报文的基本报文结构相同。
报文格式
请求报文的格式:
<method><request-URL><version>
<headers>
<entity-body>
响应报文格式:
<version><status><reason-phrase>
<headers>
<entity-body>
请求报文和响应报文的格式只有起始行不同。
报文各部分的描述
方法(method):客户端希望服务器对资源执行的动作。比如GET,HEAD或POST等。
请求URL(request-URL):命名了所请求资源,或者URL路径组件的完整URL。
版本(version):报文所使用的HTTP版本,HTTP/major.minor,其中major是主要版本号,minor是次要版本号。
状态码(status-code):用三位数字描述了请求过程中所发生的情况。
原因短语(reason-phrase):状态码的可读版本,原因短语只对人类有意义。
首部(header):可以有零个或多个首部,每个首部都包含一个名字,后面跟着一个冒号(:),然后是一个可选的空格,接着是一个值,最后是一个 CELF(空行)。
实体的主体部分(entity-body):实体的主体部分包含一个由任意数据组成的数据块。