梗概
- 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. 报文的通用部分:
不管是请求报文还是响应报文 都规定了四部分:
- 行
- 头
- 空行
- 体(Body)
2. 请求报文:
1. 图解
2. 行
- 每部分信息用空格隔开
- 一般是:
请求类型 url链接 http版本
3. 头
- 都是键值对 如: Host: xxx.com Cookie: … Content-type: application/x-www-form-urlencoded
常见的字段
- child::Content-Type
7. 空行
8. 体(body)
如:username=admin&password=admin
8.1. 说明:
- child::
- GET请求请求体为空
- child::
Transclude of post请求#^564596
9. 实例:
3. 响应报文:
1. 图解
2. 行:
- 用空格分隔每个信息 信息通常为
- HTTP版本, 如
HTTP/1.1
- 状态码, 如
200
- 状态字符串, 如
OK
3. 头
- 用键值对表示每个信息(即
键名: 键值
) 如: Content-Type: text/html;charset=utf-8 Content-length: 2048 Content-encoding: gzip
4. 空行
5. 体(Body)
返回的数据, 通常为字符串(JSON或XML)
4. http响应状态码
child::http 状态码