HTTP请求:
http请求包括三个部分: 请求行 + 请求头 + 数据体
第一部分 请求行包含三个内容 : 请求方法-URI-协议/版本
请求方法: GET POST PUT PATCH DELETE HEAD OPTION
PUT: 用于修改某个内容
PATCH: 部分文档更改
第二部分 请求头(key value形式)
User-Agent:产生请求的浏览器类型。
Accept:客户端可识别的内容类型列表。
Host:主机地址
第三部分 永远都是一个空格 用于分隔第二部分和第四部分
第四部分 请求数据
post方法中,会把数据以key value形式发送请求
用Chrome查看请求内容:
1. 地址栏输入www.baidu.com并打开Network
2. 在Network点击查看request ,点击VIEW SOURCE
3. 查看请求前三部分
4. 如果有请求的第四部分,在FromData里面可以看到
HTTP响应:
http响应包括三个部分: 状态行+响应头+响应正文
第一部分 状态行是由:HTTP-Version+Status-Code+Reason-Phrase
比如:HTTP/1.1 200 ok
分别表示http版本 + 状态码 + 状态代码的文本描述
状态码:
1xx指示信息–表示请求已接收,继续处理
2xx成功–表示请求已被成功接收、理解、接受
3xx重定向–要完成请求必须进行更进一步的操作。
4xx客户端错误–请求有语法错误或请求无法实现。
5xx服务器端错误–服务器未能实现合法的请求。
第二部分 响应头:包含服务器类型,日期,长度,内容类型等
Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:13:33 GMT
Content-Type:text/html
Last-Moified:Mon,6 Oct 2003 13:23:42 GMT
Content-Length:112
第三部分 响应正文响应正文就是服务器返回的HTML页面或者json数据
用Chrome查看响应内容:
1. 地址栏输入www.baidu.com并打开Network
2. 查看 Response Headers,点击「view source」
3. 可以看到相应内容
如何使用 curl 命令
常用命令:
# 查看版本
$ curl -V
# 用于打印更多信息,包括发送的请求信息
$ curl -v www.baidu.com
# 将操作痕迹保存到dump文件中
$ curl --trace dump www.baidu.com
在https://explainshell.com网站上查看curl命令解释