請求與響應
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 要上傳的資料
- 關於以上各部分內容的碎碎念:
1.請求最多包含四部分,最少包含三部分。(也就是說第四部分可以為空)
2.第三部分永遠都是一個回車(n),用於分開第二部分和第四部分,必不可少
3.常用動詞有 GET POST PUT PATCH DELETE等,一般只獲取資料不上傳就用GET,當要上傳資料時就用POST
4.這裡的路徑包括「查詢引數」,但不包括「錨點」,如果你沒有寫路徑,那麼路徑預設為 /
5.第 2 部分中的 Content-Type 標註了第 4 部分的格式,兩者是一致的
- 用 Chrome 發請求
1.開啟 Network
2.位址列輸入網址
3.在 Network 點選,檢視 request,點選「view source」,一定要點否則看不到,這裡只會顯示請求的前三部分。
4.如果有請求的第四部分,那麼在 FormData 或 Payload 裡面可以看到
HTTP 響應的組成的四部分:
1 協議/版本號 狀態碼 狀態解釋
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下載的內容
- 關於以上各部分內容的碎碎念:
1.狀態碼要背,詳情請點選這
2.第 2 部分中的 Content-Type 遵循 MIME 規範,而且還標註了第 4 部分的格式,兩者是一致的。
- 用 Chrome 檢視響應
1.開啟 Network
2.輸入網址
3.選中第一個響應
4.檢視 Response Headers,點選「view source」,一定要點否則看不到,點選後你能看到響應的前兩部分
5.檢視 Response 或者 Preview,你會看到響應的第 4 部分
關於JS操作請求與響應的一些小筆記
1.JS可以設定任意請求 header 嗎?
第一部分request.open('get','/xxx')
第二部分
request.setHeader('content-type','x-www-form-urlencoded')
第四部分request.send('a=1&b=2')
2.JS可以設定任意響應 header 嗎?
第一部分request.status/request.statusText
第二部分
request.getResponseHeader()/request.getAllResponseHeaders()
第四部分request.responseText