目錄
(一)HTTP是什么
(二)報文格式
(1)請求
①首行
1.URL
2.方法(method)
Ⅰ.GET
Ⅱ.POST
Ⅲ.PUT
Ⅳ.DELETE
3.版本號
②請求頭(header)
1.鍵值對
Ⅰ.Host
Ⅱ.???????Content-Length
Ⅲ.???????Content-type
Ⅳ.???????User-Agent
Ⅴ.???????Referer
③空行(請求頭結束的標志)
④請求正文(body)(有的有,有的沒有)
(2)響應
①首行(狀態行)
1.版本號
2.狀態碼
200 OK
301 Moved Permanently
302 Move Temporarily
403 Forbidden
404 Not Found
418
500 Internal Server
502 Bad Gateway
504 Gateway Timeout
②響應頭(header)
③空行(響應報頭結束的標志)
④正文(body)
(一)HTTP是什么
即“超文本傳輸協議”。
(二)報文格式
(1)請求
①首行
唯一資源定位符,描述了網絡上的某個資源的具體位置。
1.URL
URL encode:URL的 query string 中的 value 部分,可能需要進行轉義。
2.方法(method)
Ⅰ.GET
-
HTTP中最常見方法,GET請求一般沒有body。
-
實現冪等,就可實現緩存。
-
官方建議實現“冪等性”。
Ⅱ.POST
-
特點:有body用來傳輸數據。
-
base64編碼:通過這個把二進制內容轉文本,從而減輕服務器負擔。
-
觸及場景:登錄,上傳資源、文件。
Ⅲ.PUT
????????與POST相似,具有冪等性。
Ⅳ.DELETE
3.版本號
????????Restful 風格的API設計。
②請求頭(header)
1.鍵值對
-
-
鍵和值之間用“: ”來分割。
-
標準規定的。
-
Ⅰ.???????Host
????????訪問的服務器和端口。
Ⅱ.???????Content-Length
-
描述了body的長度。
-
解決了“粘包問題”。
Ⅲ.???????Content-type
-
描述了body的數據格式。
-
常見格式:
-
text/html
-
text/css
-
application/javascript
-
application/json
-
image/png
-
image/jpg
-
Ⅳ.???????User-Agent
????????所使用設備。
>>>響應式編程
Ⅴ.???????Referer
????????記錄上一個頁面。
Ⅵ.???????Cookie
-
鍵值對。
-
瀏覽器在本地存儲數據的一種機制。
-
應用場景:
-
保存沒那么重要,但是有用的數據(也可以使用LacalStorage、IndexDB實現本地存儲)
-
流量標簽
-
保存用戶的身份標識
-
>>>Cookie和會話(存儲用戶的詳細信息)配合使用
③空行(請求頭結束的標志)
④請求正文(body)(有的有,有的沒有)
(2)響應
①首行(狀態行)
1.版本號
2.狀態碼
-
200 OK
????????HTTP層面的成功,不代表業務層面的成功。
-
301 Moved Permanently
????????永久重定向。
-
302 Move Temporarily
????????臨時重定向。
3開頭的響應一般不會有body,但是會有location,表示接下來跳轉到的頁面
-
403 Forbidden
????????訪問被拒絕(沒有權限)。
-
404 Not Found
????????客戶端訪問的資源不存在。
-
418
? ? ? ? I am a teapot
-
500 Internal Server
????????服務器拋出異常。
-
502 Bad Gateway
????????網關后面的服務器故障。
-
504 Gateway Timeout
????????服務器響應時間過長。