请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
1) 请求行:求方法字段、URL字段和HTTP协议版本
例如:GET /index.html HTTP/1.1
get方法将数据拼接在url后面,传递参数受限
请求方法:
GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT
2) 请求头:HTTP协议使用HTTP头来传递请求的元信息。
HTTP头是一个用冒号分隔的名称/值对,冒号前面是HTTP头发名称,后面是HTTP的值;
例如: Key1: value1
Key2: value2
Content-Type: application/x-www-form-urlencoded 标注了第 4 部分的格式
Host: www.baidu.com 主机地址
User-Agent: curl/7.54.0 产生请求的浏览器类型
3) 空行:
发送回车符,通知服务器一下不再有请求头(永远是个回车);
4) 消息体:
HTTP请求中带有查询字符串时
如果是GET方法,查询字符或表单数据附加值请求行中,则消息体中就没有内容;
如果是POST方法,查询字符串或表单数据及添加在消息体中。
响应包含四部分
响应的格式
1 协议/版本号状态码状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
1) 状态行:
以一个状态行开头。状态行有HTTP协议版本、响应状态码和响应描述组成,之间用空格分隔;
例如:HTTP/1.1 200 OK
2) 响应头:
第 2 部分中的 Content-Type 标注了第 4 部分的格式
第 2 部分中的 Content-Type 遵循 MIME 规范
其他还在学
3) 空白行:
最后一个响应头之后是一个空行,发送回车符和退行,表明以下不再有响应头,跟请求头的意思一样;
4) 消息体:
要发送回BS的HTTP文档或其它要显示的内容等。Web服务器把要发送给客户端的文档信息放在消息体中
如何用Chrome开发者工具查看 HTTP 请求内容
1. 打开谷歌游览器(大部分浏览器都行),摁下F12, 打开 Network
2. 地址栏输入网址
3. 在 Network 点击,查看 request,点击「view source」
4. 如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到
如何用Chrome开发者工具查看 HTTP 响应内容
1. 打开谷歌游览器(大部分浏览器都行),摁下F12, 打开 Network
2. 输入网址,选中第一个响应
3. 查看 Response Headers,点击「view source」你会看到响应的前两部分
4. 查看 Response 或者 Preview,你会看到响应的第 4 部分
如何使用 curl 命令
curl 是一个利用 URL 规则在命令行下工作的文件传输工具,可以说是一款
很强大的 http 命令行工具。它支持文件的上传和下载,是综合传输工具。通过
Curl 执行 GET/POST/PUT/DELETE 操作
示例 1,通过 curl 命令发出一个 GET 请求,得到响应:
curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
-s:不用显示进度条
-v:显示请求和响应
-H "Frank: xxx":添加一个响应头 -- https://www.baidu.com:我要请求的网址
示例 2,通过 curl 命令发出一个 POST 请求,得到响应:
curl –x POST -s -v -H "Frank: xxx" -- https://www.baidu.com
示例 3,通过 curl 命令发出一个 POST 添加一段数据的请求,得到响应:
curl –x POST –d“1234567890”-s -v -H "Frank: xxx" -- "https://www.baidu.com"
在explainshell上面有更详细的解释
https://explainshell.com/explain/1/curl
网友评论