HTTP相关
1 HTTP请求
我们想要知道HTTP的请求包含哪些部分,那么首先要知道如何发起一个HTTP请求,这边演示了最常见的GET请求和POST请求。
1.1 GET请求
打开chrome,按F12,将选项由Elements改为Network,接着打开百度的官网“https://www.baidu.com”(如果有必要将View中的Show overview点掉),这边可以看到对”https://www.baidu.com“发起的GET请求,
点击这一行,找到Request Headers,点击旁边的”view source”即可看到我们发起的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响应内容在chrome开发者工具中的查看方法和查看HTTP请求内容基本一致。
如图是我随便点开的一篇新闻,和刚刚一样的方法,点击对应行找到Response Headers,点击view source就可以看到前三部分(如下图所示)
第一部分:
协议/版本号 状态码 状态解释
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"
就可以看到如上图所示的信息(以”*”开头的行表示省略,不需要强行去看,还有响应的后面的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