跳到主要内容

Spring MVC系列(8)-HttpMessageConverter之使用分析

HTTP报文

HTTP请求流程

HTTP超文本传输协议(HyperText Transfer Protocol)是一种用于分布式、协作式和超媒体信息系统的应用层协议。

HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:
(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。

 

HTTP报文

用于HTTP协议交互的信息被称为HTTP报文。请求端的HTTP报文叫请求报文,响应端的叫响应报文。

请求报文

HTTP 请求报文由请求行、请求头部、空行 和 请求包体 4 个部分组成。

 

请求行:请求行由请求方法字段、URL 字段 和HTTP 协议版本字段 3 个部分组成,他们之间使用空格隔开。

请求头部:请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息。

空行:最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头;

报文体:报文主体和首部字段之间通过一个空行分隔,请求主体中包含了要发送给 Web 服务器的数据(一般 POST 请求都会包含请求主体,GET 请求参数都在 URL 里面,请求主体一般为空),响应主体中包含了服务器返回给客户端的数据,一般是 HTML 文档或者 JSON 格式数据。

响应报文

HTTP 响应报文由状态行、响应头部、空行 和 报文体 4 个部分组成。