HTTP 请求包括哪些部分
- GET请求内容
GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
- 内容解析
1 动词 路径 协议/版本
2 Key1: value1
2 Key2: value2
2 Key3: value3
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上传的数据
- 知识点解析
- 请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
- 第三部分永远都是一个回车(\n)
- 动词有 GET(获取) POST(提交) PUT(全部更新) PATCH(部分更新) DELETE(删除) HEAD OPTIONS 等
- 这里的路径包括「查询参数」,但不包括「锚点」也就是不包括#后面的内容
- 如果你没有写路径,那么路径默认为 /
- 第 2 部分中的 Content-Type 标注了第 4 部分的格式
如何用用 Chrome 查看请求内容
-
用 F12 打开控制台 然后点击Network
-
找到有请求内容的请求连接 然后 点击Request Header 右边的 view paresd
3.地址栏输入网址,以 baidu.com 为例 4.点击Network,查看request,点击view source
5.这样我们就可以看到请求的前三部分了,如图所示就是GET请求的实例,我们可以对照着前面给出的标准再次理解一下。
HTTP 响应包括哪些部分
- GET响应内容
HTTP/1.1 302 Found
Connection: Keep-Alive
Content-Length: 17931
Content-Type: text/html
Date: Tue, 10 Oct 2017 09:19:47 GMT
Etag: "54d9749e-460b"
Server: bfe/1.0.8.18
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"> 后面太长,省略了……
- 内容解析
1 协议/版本号状态码状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931 (下载内容长度)
2 Content-Type: text/html (下载内容格式)
3
4 要下载的内容
-
状态码记忆
- 1xx 不常用
- 2xx 表示成功
- 3xx 表示网址移动到了别的地方
- 4xx 表示浏览器(前端)发出的请求错误
- 5xx 表示服务器(后台)错误
-
注意要点
- 状态解释没什么用
- 第 2 部分中的 Content-Type 标注了第 4 部分的格式
- 第 2 部分中的 Content-Type 遵循 MIME 规范
如何用用 Chrome 查看响应内容
- 鼠标左键点击检查,打开 Network
- 输入网址
- 选中第一个响应 (Response Header) 有内容的即可
- 点击view source
- 然后我们就能看到第四部分了
使用 curl 命令
- curl -s -v -H "Frank: xxx" -- "www.baidu.com"
- 输入: curl -s -v -H "Frank: xxx" -- "www.baidu.com"然后回车会产生一大堆代码。
*后面的不要看
后面的是请求内容
<后面的是相应内容