HTTP相关

1 HTTP请求

我们想要知道HTTP的请求包含哪些部分,那么首先要知道如何发起一个HTTP请求,这边演示了最常见的GET请求和POST请求。

1.1 GET请求

HTTP相关

打开chrome,按F12,将选项由Elements改为Network,接着打开百度的官网“https://www.baidu.com”(如果有必要将View中的Show overview点掉),这边可以看到对”https://www.baidu.com“发起的GET请求,
HTTP相关
点击这一行,找到Request Headers,点击旁边的”view source”即可看到我们发起的HTTP请求
HTTP相关
这边包括了

第一部分:

动词 路径 协议/版本
GET / HTTP/1.1

第二部分:

Key 1:Value 1
Key 2:Value 2
balabala
这边剩下的都属于第二部分

第三部分:

一个回车,用来分隔第二部分和可能存在的第四部分

第四部分:

在GET请求中一般没有第四部分 ,在待会的POST请求中可以看到

1.2 POST请求

接着上面的流程,登陆你的百度账号(没有的话emm),为了待会能够轻易找到POST请求,在点击登陆按钮之前前按一下Clear(红色按钮的右边),把之前的请求记录清空,然后勾选Preserve log(因为在登陆瞬间网页会刷新,会清除之前的请求记录,所以勾选,可以看到之前的日志),点击登陆按钮,找到POST请求,和刚刚一样的方法可以看到前三个部分(麻烦假装一下你看的到回车),第四部分要上传的数据就在之后的Form Data中(有我的用户名密码所以就不截图了)


2.HTTP响应

HTTP相关
HTTP响应内容在chrome开发者工具中的查看方法和查看HTTP请求内容基本一致。
如图是我随便点开的一篇新闻,和刚刚一样的方法,点击对应行找到Response Headers,点击view source就可以看到前三部分(如下图所示)
HTTP相关

第一部分:

协议/版本号 状态码 状态解释
HTTP/1.1 304 Not Modified

第二部分:

Key 1:Value 1
Key 2:Value 2
balabala
这边剩下的部分都属于第二部分

第三部分:

一个回车,用于分隔第二部分和第四部分

第四部分:

如前面那张有小姐姐的图所示,点开Response就可以看到


3.如何使用curl命令(针对Windows用户)

打开cmd,输入curl -s -v -- "https://www.baidu.com"
HTTP相关
HTTP相关
就可以看到如上图所示的信息(以”*”开头的行表示省略,不需要强行去看,还有响应的后面的html太长也没有截图),”>”开头的行表示请求内容,”<”开头的行表示响应内容(什么curl这行代码什么意思?explainshell.com了解一下)


4.HTTP状态码

https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81
http://www.runoob.com/http/http-status-codes.html