HTTP协议的简单介绍

HTTP协议是 “Hyper Text Transfer Protocol”(超文本传输协议)的缩写。HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送请求。服务器接受请求并给予响应。
(图来源于方方老师)


HTTP协议的简单介绍_第1张图片
image.png

下面介绍HTTP请求与HTTP响应具体包括哪些部分。

一、HTTP请求
1.HTTP请求包括以下4个部分

 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 要上传的数据

2.值得注意的是
①请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
②第三部分永远都是一个回车(\n)
③动词有 GET(获取) POST(上传) PUT(整体更新) PATCH(部分更新) DELETE(删除) HEAD OPTIONS 等
④这里的路径包括「查询参数」,但不包括「锚点」
⑤如果你没有写路径,那么路径默认为 /
⑥第 2 部分中的 Content-Type 标注了第 4 部分的格式

3.如何用Chrome开发者工具查看 HTTP 请求内容?
①打开 Network
②地址栏输入网址
③在 Network 点击,查看 request,点击「view source」
这样就可以看到请求内容啦!!


HTTP协议的简单介绍_第2张图片
image.png

二、HTTP响应
1.HTTP响应也包括四个部分

 1 协议/版本号 状态码 状态解释
 2 Key1: value1
 2 Key2: value2
 2 Content-Length: 17931
 2 Content-Type: text/html
 3
 4 要下载的内容

2.需要注意的是
①.状态码要背,是服务器对浏览器说的话。推荐网址https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81 这里是一些状态码的说明。(要FQ才能打开。。)
②状态解释没什么用
③第 2 部分中的 Content-Type 标注了第 4 部分的格式
④第 2 部分中的 Content-Type 遵循 MIME 规范

3.如何用Chrome开发者工具查看 HTTP 响应内容?
①打开 Network
②地址栏输入网址
③选中一个响应
④查看 Response Headers,点击「view source」这样你会看到响应的前两部分
⑤查看 Response 或者 Preview,你会看到响应的第 4 部分

上个图吧!


HTTP协议的简单介绍_第3张图片
image.png

三、如何使用 curl 命令
1.啥是curl命令?
curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
2.语法 : curl(选项)(参数)
3.实例
①curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
说明:"-s" :不要显示进度条。 "-v":要显示请求和响应(如果没有-v就只显示响应)。"-H"添加响应头。在"--"后面写要请求的网址。(注意“--”与后面的网址间有空格。。)

在命令行中输入 curl -s -v -H "Frank: xxx" -- "https://www.baidu.com" (通过curl工具给百度的服务器发送请求) 效果如下:

HTTP协议的简单介绍_第4张图片
image.png

说明:
(1)" * "星号后面的内容是注释,不用看了。
(2)">"号是请求内容
(3)"<"号是得到的响应的内容

②如果发送POST请求则用:curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"
③可以用POST请求添加数据发送:curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"
④可以指定HTTP头部:在"-H"后输入你想指定的头部即可。

你可能感兴趣的:(HTTP协议的简单介绍)