目录
HTTP报文格式
1、请求报文格式
HTTP请求报文主要由请求行、请求头部、空行以及请求正文4部分组成,如表17-1所示。
以上表格中,第1行为“请求行”;第2、3、4行为“请求头部”;第5行为“空行”;第6行为“请求正文”。下面分别介绍这4个部分,如下所示:
(1)请求行由3部分组成,分别为请求方式、URI (注意这里不是URL)以及协议版本组成。它们之间由空格分隔。请求方法主要包括GET、POST等;常见的协议版本有HTTP/1.1。
(2)请求头部包含很多有关客户端环境以及请求正文的有用信息。请求头部由“关键字:值"对组成,每行一对,关键字和值之间使用英文“:”分隔。
(3)空行,这一行非常重要,必不可少。表示请求头部结束,接下来为请求正文。
(4)请求正文,如以POST方式提交的表单数据。
2、响应报文格式
HTTP响应报文主要由状态行、响应头部、空行以及响应正文4部分组成。如表17-2所示。
以上表格中,第1行为“状态行”;第2、3、4行为“响应头部”;第5行为“空行”;第6行为“响应正文”。下面分别介绍这4个部分,如下所示:
(1)状态行由3部分组成,分别是HTTP协议版本、状态代码和状态代码描述。状态代码为3位数字,由1、2、3、4以及5开头。其中,2开头的指响应成功; 3 开头的指重定向; 4开头的指客户端错误; 5开头的指服务端错误。详细的状态码就不介绍了,下面列
举几个常见的,如下所示:
- 200: 表示响应成功。
- 400: 表示错误的请求,用户发送的HTTP请求不正确。
- 404:表示文件不存在,也就是HTTP请求URI错误。
- 500: 表示服务器内部错误。
(2)响应头部与请求头部类型,也包含了很多有用的信息。
(3) 空行,该行是必不可少的一行,表示响应头部结束。
(4)响应正文,服务器返回的文档,最常见的为HTML网页。
HTTP的头域
在HTTP的请求消息和应答消息中,都包含头域。头域分为4种,其中请求头域和应答头域分别只在请求消息和应答消息中出现,通用头域和实体头域两种消息中都可以出现,但实体头域只有当消息中包含了实体数据时才会出现。下面分别介绍这4种头域中的域名称和功能。
1、请求头域名称含义
请求头域只在请求消息中出现
2、应答头域名称含义
应答头域只在应答消息中出现,是Web服务器向浏览器提供的一些状态和要求。所有的应答头域名称及功能如下表所示。
3、通用头域名称含义
通用头域既可以用在请求消息,也可以用在应答消息。所有的通用头域名称及功能如下表所示。
4、实体头域名称含义
只有在请求和应答消息中包含实体数据时,才需要实体头域。请求消息中的实体数据是一些由浏览器向Web服务器提交的数据,如在浏览器中采用POST方式提交表单时,浏览器就要把表单中的数据封装在请求消息的实体数据部分。应答消息中的实体数据是Web服务器发送给浏览器的媒体数据,如网页、图片和文档等。实体头域说明了实体数据的一些属性,所有实体头域名称及功能如下表所示。