今天来写一写HTTP。
说起HTTP,其中Server和Client是我们必须要提到的。
Server就是服务器电脑里面运行的软件(即代码),Client是客户端(谷歌浏览器或者ie浏览器等)。
- 浏览器负责发起请求
- 服务器在80端口接收请求
- 服务器负责返回内容(响应)
- 浏览器负责下载响应内容
HTTP的作用就是指导浏览器和服务器如何进行沟通。
HTTP请求
- 请求的格式
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部分的格式
用curl创造一个请求,并得到响应


1 GET / HTTP / 1.1
1.1 GET: 获取根目录
1.2 HTTP: 协议
1.3 1.1: 版本号
2 Host: www.baidu.com
3 User-Agent: curl/7.54.1
3.1 User-Agent: 表示用的什么软件发起请求
4 Accept: */* 表示我接受你返回给我的任何内容
用Chrome发请求
- 打开Network
- 地址栏输入网址
- 在Network点击,查看request,点击「view source」
- 点击「view source」
- 点击「view source」
- 点击「view source」
- 终于点了?可以看到请求的前三部分了
- 如果有请求的第四部分,那么在FormData或Playload里面可以看到
如图:
-
右键,点检查,可以找到Network.
image.png
-
地址栏输入网址并回车
image.png
-
点开GET,可以看到GET请求是怎样的。
image.png
image.png
响应
请求了之后,应该都能得到一个响应,除非断网了,或者服务器宕机了。
响应示例
上面发送的一个请求,对应的响应:

响应的格式
1 协议/版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
用Chrome查看响应
- 打开Network
- 输入网址
- 选中第一个响应
- 查看Response Headers,点击「view source
- 你会看到响应的前两部分
-
查看Response或者Preview,你会看到响应的第四部分
同上,右键,点击检查,点Network,在地址栏输入网址,
image.png
image.png
image.png
image.png
image.png
即第一部分和第二部分在Headers里面,第四部分在Response里面,第三部分是回车,不显示。
文章著作权归irwenjing所有,转载须说明来源
网友评论