HTTP消息结构

2018-10-11  本文已影响0人  Jack_6a46

HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
一个 HTTP客户端 是一个应用程序(比如web浏览器或者其他任何客户端),通过连接到服务器达到向服务器发送一个或多个 HTTP请求 的目的。
一个 HTTP服务器 同样也是一个应用程序(通常是一个Web服务,比如Apache Web 服务器 或者 IISf服务器),通过接收客户端的请求并向客户端发送 HTTP响应数据。

Uniform Resource Locator, URL
HTTP使用统一资源定位符来传输数据和建立连接。
一旦建立连接后,数据信息就通过类似Internet邮件所使用的格式 [RFC5322] 和多用途Internet邮件 扩展 [RFC2045] 来传送。

客户端请求信息

客户端发送一个 HTTP请求 到服务端的请求信息格式包括以下四个部分:
请求行 request line
请求头部 header
空行
请求数据


image.png

服务器相响应消息

HTTP响应也由四个部分组成,分别是
状态行
消息报头
空行
响应正文


image.png

实例:
客户端请求:

GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi

服务端响应:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

输出结果:

Hello World! My payload includes a trailing CRLF.
上一篇下一篇

猜你喜欢

热点阅读