HTTP报文由3部分组成,分别是:1、对报文进行描述的起始行【start line】;2、包含属性的首部【header】块;3、可选的、包含数据的主体【body】部分。
HTTP报文由3部分组成:
对报文进行描述的起始行(start line),
包含属性的首部(header)块,
以及可选的、包含数据的主体(body)部分。
相关学习推荐:PHP 编程从入门到精通
这是请求报文的格式:
//是为服务器端提供一些额外的信息 <method> <request-URL> <version> <headers> <entity-body>
这是响应报文的格式(注意,只有起始行的语法有所不同):
//为客户端提供一些额外的信息 <version> <status> <reason-phrase> <headers> <entity-body>
下面是对各部分的简要描述。
1、方法(method)
客户端希望服务器对资源执行的动作。是一个单独的词,比如GET、HEAD或POST。本章稍后将详细介绍方法。
2、请求URL(request-URL)
命名了所请求资源,或者URL路径组件的完整URL。如果直接与服务器进行对话,只要URL的路径组件是资源的绝对路径,通常就不会有什么问题——服务器可以假定自己是URL的主机/端口。第2章详细地介绍了URL的语法。
3、版本(version)
状态码(status-code)
这三位数字描述了请求过程中所发生的情况。每个状态码的第一位数字都用于描述状态的一般类别(“成功”、“出错”等)。本章稍后提供了HTTP规范定义的状态码及其含义的完整列表。
4、原因短语
数字状态码的可读版本,包含行终止序列之前的所有文本。本章稍后提供了HTTP规范定义的所有状态码的原因短语示例。原因短语只对人类有意义,因此,比如说,尽管响应行HTTP/1.0 200 NOT OK
和 HTTP/1.0 200 OK
中原因短语的含义不同,但同样都会被当作成功指示处理。
5、首部
可以有零个或多个首部,每个首部都包含一个名字,后面跟着一个冒号(:),然后是一个可选的空格,接着是一个值,最后是一个CRLF。首部是由一个空行(CRLF)结束的,表示了首部列表的结束和实体主体部分的开始。有些HTTP版本,比如HTTP/1.1,要求有效的请求或响应报文中必须包含特定的首部。本章稍后会探讨各种HTTP首部。
6、实体的主体部分(entity-body)
实体的主体部分包含一个由任意数据组成的数据块。并不是所有的报文都包含实体的主体部分,有时,报文只是以一个CRLF结束
//告诉服务器能够发送哪些媒体类型
//告诉服务器你能发送哪些编码方式
Atas ialah kandungan terperinci HTTP报文由几部分组成?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!