梗概

  • http报文是以字符为单位的,每个字段的长度不是固定的

例题

1. 题目

【2015年题40】某浏览器发出的HTTP请求报文如下 GET /index.html HTTP/1.1 Host: www.test.edu.cn Connection: Close Cookie: 123456

下列叙述中,错误的是 A.该浏览器请求浏览index.html B.index.html存放在www.test.edu.cn上 C.该浏览器请求使用持续连接 D.该浏览器曾经浏览过www.test.edu.cn

2. 解析

  • 请求行:指明方法GET,URL,HTTP版本
  • 第二行:指明服务器的域名
  • 第三行:告诉服务器发送完请求的文档后就可释放连接,即非持续连接;
    • 若是持续连接方式,取值应为keep-alive,而不是Close
  • 第四行:这是服务器为浏览器生成的Cookie识别码,表明该浏览器曾经访问过www.test.edu.cn

1. 报文的通用部分:

不管是请求报文还是响应报文 都规定了四部分:

  1. 空行
  2. 体(Body)

2. 请求报文:

1. 图解

2. 行

  1. 每部分信息用空格隔开
  2. 一般是:请求类型 url链接 http版本

3. 头

  1. 都是键值对 如: Host: xxx.com Cookie: … Content-type: application/x-www-form-urlencoded

常见的字段

7. 空行

8. 体(body)

如:username=admin&password=admin

8.1. 说明:

  1. child::
    • GET请求请求体为空
    指向原始笔记的链接
  2. child::
    Transclude of post请求#^564596

9. 实例:

3. 响应报文:

1. 图解

2. 行:

  1. 用空格分隔每个信息 信息通常为
  2. HTTP版本, 如HTTP/1.1
  3. 状态码, 如200
  4. 状态字符串, 如OK

3. 头

  1. 用键值对表示每个信息(即键名: 键值) 如: Content-Type: text/html;charset=utf-8 Content-length: 2048 Content-encoding: gzip

4. 空行

5. 体(Body)

返回的数据, 通常为字符串(JSON或XML)

4. http响应状态码

child::http 状态码