狀態碼與COOKIE/SESSION/TOKEN的請求流程
一、常用的資料格式
1、JOSN
2、表單
3、XML
二、常用狀態碼
2.301 永久重定向(請求A的時候,會自動跳轉到B)
我們以 www.360buy.com 和 www.jd.com 實戰為例 當我們在網頁搜尋 www.360buy.com 的時候跳轉出來的是 www.jd.com 的網頁,那麼我們就可以得到 www.360buy.com 是一個301永久重定向的連結
3.302 臨時重定項
同樣我我們也以 www.360buy.com 和 www.jd.com 實戰為例
在日常工作中開發給你一個介面,你測試出來400可能就是以下問題:1、請求頭不對
1.400 Bad Request 客戶端請求錯誤
①.請求頭不對
②.請求引數不對
2.401 Unauthorized ⽆許可權訪問該系統
3.403 Forbidden 有許可權但是禁⽌訪問
認證(授權): 1、基本 basic 2、常規 digest 3、自定義 4、oauth2.0 (微信)
5.405 不被允許的請求⽅法
500 伺服器內部錯誤
504 GateWay Timeout(閘道器超時,不一定是程式設計師程式碼的問題,也可能是第三方的問題,閘道器的優勢統一API訪問入口,監控API流量)
415:只有請求頭不對
201 created :新增資源成功
204 Not Content :刪除資源成功
特殊場景:
cookie: 反爬蟲 ,認證授權
referer:請求目標地址是從哪裡來的
content-type:代表的是什麼樣的資料格式
user-agent:代表的是訪問目標伺服器,是通過什麼來訪問
四、返回頭
Set-cookie:服務端把生成的認證憑證資訊返回給客戶端
HTTP的協議
HTTP是一個無狀態的協議,所以也就導致了COOKIE技術的發展,通過COOKIE能夠記下使用者操作的行為狀態,但是COOKIE它是儲存在客戶端的,所以就不安全,為了解決安全的問題,SESSION誕生,SESSION它是儲存在服務端,相對來說比較安全。後面移動網際網路誕生,就有了TOKNE,TOKNE本質上是SESSION原理來實現的,使他成為一個令牌,TOKEN的實現技術就是JWT的技術,http是網際網路底層的架構。
1、儲存在客戶端
2、不安全
以登入為案例來說明COOKIE的流程:
1、客戶端輸入賬戶密碼登入成功
2、在服務端生成COOKIE的資訊,通過響應頭中的SET-COOKIE吧生成的COOKIE返回給客戶端
3、客戶端在下次請求的時候,通過請求頭中的cookie吧返回的cookie帶上傳送給服務端,服務端內部進行驗證
SESSION請求
SESSION流程:
1、客戶端輸入賬戶密碼登陸成功
3、客戶端接收到SESSIONID後
4、客戶端在次請求客戶端(比如訪問個人主頁),會在請求頭上的cookie中帶上SESSIONID傳送給客戶端
5、服務端接收客戶端傳送過來的SESSIONID,與儲存在豐服務端的本地SESSIONID中會進行對比,如果一致,允許訪問個人主頁,如果不一致,就會重定到
TOKEN
TOKEN特點:
1、每次登入成功後,生成的TOKEN都是不一樣的
2、返回的token是一個隨機的字串
持久化:把某些特定的資訊儲存下來(臨時/永久)