HTTP简介
超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
HTTP请求与相应流程
1.浏览器负责发起请求
2.服务器在 80 端口接收请求
3.服务器负责返回内容(响应)
4.浏览器负责下载响应内容
HTTP请求
1.请求的格式
第一部分 动词 路径 协议/版本 (GET / HTTP/1.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
第三部分 回车(分隔第二部分和第四部分)
第四部分 要上传的数据
注意点
1.请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
2.第三部分永远都是一个回车(\n)
3.动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
4.这里的路径包括「查询参数」,但不包括「锚点」,如果你没有写路径,那么路径默认为 /
5.第 2 部分中的 Content-Type 标注了第 4 部分的格式。
2.请求示例(用 Chrome 发请求)
1.打开浏览器,按下F12键。
2.在浏览器的检查模式,找到 Network .
3.输入网址(以www.baidu.com)并刷新页面。
4.点击第一行网址,查看request,点击「view source」
HTTP响应
1.响应的格式
第一部分:协议/版本号 状态码 状态解释
第二部分:
key1:value1
key2:value2
Content-Length: 17931
Content-Type:xxx/xxx
第三部分:
第四部分: 要下载的数据内容
状态码要背,是服务器对浏览器说的话
○ 1xx 不常见
○ 2xx 代表成功 ——200,普通成功;204,创建成功;
○ 3xx 表示资源不在这,去的地方找——301,永久不纯在。302,临时不纯在。
○ 4xx 表示你的操作有错误——用户方出错
○ 5xx 表示服务器端有错误——服务器放出错
状态解释就是告诉你一下信息,比如成功了、失败了等等信息。
第 2 部分中的 Content-Type 标注了第 4 部分的格式。
第 2 部分中的 Content-Type 遵循 MIME 规范。
2.响应示例(用 Chrome 查看响应)
1.打开 Network
2.输入网址
3.选中第一个响应
4.查看 Response Headers,点击「view source」,点击「view source」,点击「view source」
5.你会看到响应的前两部分
6.查看 Response 或者 Preview,你会看到响应的第 4 部分