http請(qǐng)求與響應(yīng)內(nèi)容
請(qǐng)求的格式
1 動(dòng)詞 路徑 協(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ù)
- 請(qǐng)求最多包含四部分髓霞,最少包含三部分旺上。(也就是說(shuō)第四部分可以為空)
- 第三部分永遠(yuǎn)都是一個(gè)回車(chē)(
\n
) - 動(dòng)詞有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
- 這里的路徑包括「查詢(xún)參數(shù)」,但不包括「錨點(diǎn)」
- 如果你沒(méi)有寫(xiě)路徑忽你,那么路徑默認(rèn)為 /
- 第 2 部分中的 Content-Type 標(biāo)注了第 4 部分的格式
再次強(qiáng)調(diào),后綴是廢話。文件內(nèi)容是有 HTTP 頭中的 Content-Type 保證的
HTTP 路徑不是文件路徑J涔稀!芬萍!/xxx.html 不一定對(duì)應(yīng) xxx.html 文件
響應(yīng)的格式
1 協(xié)議/版本號(hào) 狀態(tài)碼 狀態(tài)解釋
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下載的內(nèi)容
-
狀態(tài)碼
要背尤揣,是服務(wù)器對(duì)瀏覽器說(shuō)的話- 1xx 不常用
- 2xx 表示成功
- 3xx 表示滾吧
- 4xx 表示你丫錯(cuò)了
- 5xx 表示好吧,我錯(cuò)了
- 狀態(tài)解釋沒(méi)什么用
- 第 2 部分中的 Content-Type 標(biāo)注了第 4 部分的格式
- 第 2 部分中的 Content-Type 遵循 MIME 規(guī)范
在命令行中通過(guò)curl
柬祠,獲得http請(qǐng)求和響應(yīng)消息北戏。
curl -X post -s -v -I -d "123456"-H "xx : yy" cuilei.top
-
-v
顯示http header -
-H
添加請(qǐng)求消息 -
-I
只顯示header,不顯示網(wǎng)頁(yè)內(nèi)容 -
-X
http方法漫蛔,例如get/post/put等 -
-d
http方法post傳送特定的數(shù)據(jù)
curl https://raw.githubusercontent.com/FrankFang/nodejs-test/7f1a0ce15c47a6c2c938fe322f042e5d62bc7d01/server.js > ~/desktop
用 Chrome 查看響應(yīng)
- 打開(kāi) Network
- 輸入網(wǎng)址
- 選中第一個(gè)響應(yīng)
- 查看 Response Headers嗜愈,點(diǎn)擊「view source」,點(diǎn)擊「view source」莽龟,點(diǎn)擊「view source」
- 你會(huì)看到響應(yīng)的前兩部分
- 查看 Response 或者 Preview蠕嫁,你會(huì)看到響應(yīng)的第 4 部分
用 Chrome 發(fā)請(qǐng)求
- 打開(kāi) Network
- 地址欄輸入網(wǎng)址
- 在 Network 點(diǎn)擊,查看 request毯盈,點(diǎn)擊「view source」
- 點(diǎn)擊「view source」
- 可以看到請(qǐng)求的前三部分了
- 如果有請(qǐng)求的第四部分剃毒,那么在 FormData 或 Payload 里面可以看到