一、HTTP請求與響應(yīng)
1.http請求包含的內(nèi)容
http請求的格式如下:
1 動詞 路徑 協(xié)議/版本
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 要上傳的數(shù)據(jù)
說明:
(1)請求最多包含四部分伶丐,最少包含三部分
(2)第三部分永遠都是回車
(3)動詞有 GET POST PUT PATCH DELETE HEAD OPTIONS 等(PUT更新悼做,PATCH局部更新,大部分使用GET和POST)
(4)這里的路徑包括【查詢參數(shù)】哗魂,但不包括錨點(錨點只有瀏覽器識別肛走,服務(wù)器不可以)
(5)如果你沒有寫路徑,那么路徑默認為 /
(6)第二部分Content-Type 標注了第 4 部分的格式
example:
curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"
請求內(nèi)容為:
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
Content-Length: 10
Content-Type: application/x-www-form-urlencoded
1234567890
2.用 Chrome 發(fā)請求
(1)打開 Network
(2)地址欄輸入網(wǎng)址
(3)在 Network 點擊录别,查看 request朽色,點擊「view source」
(4)點擊「view source」
(5)可以看到前三部分
(6)如果有請求的第四部分邻吞,那么在 FormData 或 Payload 里面可以看到
二.http響應(yīng)包含的內(nèi)容
1.響應(yīng)內(nèi)容的格式如下:
1 協(xié)議/版本號狀態(tài)碼狀態(tài)解釋
2 Key1: value1
2 Key2: value2
2 Content-Length: 179312 Content-Type: text/html
3
4 要下載的內(nèi)容
需要注意:
(1)狀態(tài)碼,是服務(wù)器對瀏覽器說的話
(2)第 2 部分中的 Content-Type 標注了第 4 部分的格式
(3)第 2 部分中的 Content-Type 遵循 MIME 規(guī)范
example:
HTTP/1.1 302 Found
Connection: Keep-Alive
Content-Length: 17931
Content-Type: text/html
Date: Tue, 10 Oct 2017 09:19:47 GMT
Etag: "54d9749e-460b"
Server: bfe/1.0.8.18
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
后面太長葫男,省略了……
2.用 Chrome 查看響應(yīng)
(1)打開 Network
(2)地址欄輸入網(wǎng)址
(3)在 Network 點擊抱冷,查看 response,點擊「view source」
(4)點擊「view source」,看到響應(yīng)的前兩部分
(5)查看 Response 或者 Preview梢褐,你會看到響應(yīng)的第 4 部分
三旺遮、curl命令的使用
cURL是一個利用URL語法在命令行下工作的文件傳輸工具
example:
curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"解釋
在用curl創(chuàng)造一個請求并得到響應(yīng)后:? ? curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
請求內(nèi)容:
響應(yīng)內(nèi)容:
當?curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"
請求內(nèi)容
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
當curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"
請求內(nèi)容
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*Frank: xxx
Content-Length: 10
Content-Type: application/x-www-form-urlencoded
1234567890