点击领取优惠~
453 字
2 分钟
说一下 HTTP 的报文结构
说一下 HTTP 的报文结构
HTTP 报文有两种,HTTP 请求报文和 HTTP 响应报文:
HTTP 请求报文
HTTP 请求报文的格式如下:
GET / HTTP/1.1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)Accept: */*HTTP 请求报文的第一行叫做请求行,后面的行叫做首部行,首部行后还可以跟一个实体主体。请求首部之后有一个空行,这个空行不能省略,它用来划分首部与实体。 请求行包含三个字段:
- 方法字段:包括 POST、GET 等请方法。
- URL 字段
- HTTP 版本字段。
HTTP 响应报文 HTTP 响应报文的格式如下:
HTTP/1.0 200 OKContent-Type: text/plainContent-Length: 137582Expires: Thu, 05 Dec 1997 16:00:00 GMTLast-Modified: Wed, 5 August 1996 15:55:28 GMTServer: Apache 0.84<html> <body>Hello World</body></html>HTTP 响应报文的第一行叫做状态行,后面的行是首部行,最后是实体主体。
- 状态行包含了三个字段:协议版本字段、状态码和相应的状态信息。
- 实体部分是报文的主要部分,它包含了所请求的对象。
- 首部行首部可以分为四种首部,请求首部、响应首部、通用首部和实体首部。通用首部和实体首部在请求报文和响应报文中都可以设置,区别在于请求首部和响应首部。
- 常见的请求首部有 Accept 可接收媒体资源的类型、Accept-Charset 可接收的字符集、Host 请求的主机名。
- 常见的响应首部有 ETag 资源的匹配信息,Location 客户端重定向的 URI。
- 常见的通用首部有 Cache-Control 控制缓存策略、Connection 管理持久连接。
- 常见的实体首部有 Content-Length 实体主体的大小、Expires 实体主体的过期时间、Last-Modified 资源的最后修改时间
说一下 HTTP 的报文结构