HTTP协议

HTTP协议_第1张图片

HTTP协议实质是Client跟Server通讯的消息格式的约定。
HTTP消息其实就是按照协议约定的格式的字符串。
CRLF 回车符换行符

1. HTTP请求消息格式

请求行 + 通用信息头 + 请求头 + 实体头 + 报文主体

HTTP协议_第2张图片
HTTP请求消息结构

eg: 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

1.1 请求行

  • 格式:
    Method Request-URI HTTP-Version CRLF
    [请求方式] [请求资源的uri] [HTTP协议版本] [回车符换行符]
  • eg:
    GET /form.html HTTP/1.1 (CRLF)
    POST /reg.jsp HTTP/1.1 (CRLF)
    Method说明见HTTP协议之:请求方法

1.2 消息报头(通用信息头 + 请求头 + 实体头)

不同种类的报头的组合 见HTTP协议之:消息报头

1.2 报文主体

请求参数

2. HTTP响应消息格式

状态行 + 通用信息头 + 响应头 + 实体头 + 报文主体

HTTP协议_第3张图片
HTTP响应消息结构

eg: 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

2.1 状态行

  • 格式:
    HTTP-Version Status-Code Reason-Phrase CRLF
    [HTTP协议的版本] [状态码] [状态码的文本描述] [回车符换行符]
  • eg:
    HTTP/1.1 200 OK (CRLF
    状态码说明见HTTP协议之:状态码

2.2 消息报头(通用信息头 + 响应头 + 实体头)

不同种类的报头的组合 见HTTP协议之:消息报头

2.3 报文主体

服务器返回的资源的内容

3 参考资料

HTTP 教程

你可能感兴趣的:(HTTP协议)