HTTP协议详解之响应
1.什么是HTTP响应
当服务器收到浏览器的请求后,会发送响应消息给浏览器。一个完整的响应消息主要包括响应首行、响应头信息、空行和响应正文。其中,每个部分都代表了不同的含义。下面我们会围绕HTTP响应消息的每个组成部分进行详细分析。
2.HTTP响应消息分析
下面我们通过HttpWatch抓包工具,抓取一段响应信息,然后对该信息进行分析。
(1)创建web应用Example05,将该应用发布到Tomcat服务器,启动Tomcat服务器。在浏览器地址栏输入http://localhost:8080/Example05/index.jsp。使用HttpWatch进行抓包,抓取的响应消息,如例1-1所示:
例1-1响应消息
HTTP/1.1200OK
Server:Apache-Coyote/1.1
Content-Type:text/html;charset=UTF-8
Content-Length:624
Date:Mon,03Nov201406:37:28GMT
This is my JSP page.
由例1-1响应消息内容,分析可知:
(1)响应首行:其内容是”HTTP/1.1200OK”
●HTTP/1.1:表示协议版本
●200:表示响应状态码,200表示响应成功。
●OK:表示响应成功,对响应状态码的解释。
(2)响应头信息:类似于请求消息中的请求头,其格式和请求头信息格式一样,即响应头:响应头值。
●Server响应头:该响应头是服务器告诉浏览器,当前响应的服务类型和版本。
●Content-Type响应头:服务器告诉浏览器响应内容是什么类型,以及采用的
是什么字符编码。该响应头的值现在为:text/html;charset=utf-8。说明响应信
息的类型是文本类型中的html,使用的字符编码是utf-8。
●Content-Length响应头:服务器告诉浏览器,响应内容的长度,该响应内容
的长度现在是624个字节。
●Date响应头:表示是服务器是在什么时候响应回浏览器,注意这里的时间是
按照美国时间来计算。
(3)空行:响应头和响应体由空行连接。
(4)响应体:该响应消息的响应体是一个html文档。浏览器可以直接识别这个html文件。而我们访问的是一个jsp文件,响应回去的是一个html文件。说明服务器将该jsp翻译成了一个html,然后再响应给浏览器。