http請求之token


  • token的定義

  1. token是服務端生成的一串字符串,以作為客戶端進行請求的一個令牌,當第一次登陸后,服務器生成一個token便將其返回給客戶端,以后客戶端只需帶上這個token前來請求數據即可,無需再次帶上用戶名和密碼。
  • token的引入

  1. token是客戶端頻繁向服務端請求數據,服務端頻繁去數據庫查詢用戶名和密碼並進行對比,判斷用戶名和密碼是否正確,並做出相應提示。
  • 使用token的目的

  1. 為了減輕服務器壓力,減少頻繁查詢數據庫,是服務器更加健壯。
  • 如何使用token

  1. 用設備號、設備mac地址作為token,推薦這種方式。
    • 客戶端:客戶端在登陸的時候獲取設備的設備號/mac地址,並將其作為參數傳遞到服務端。
    • 服務端: 服務端接收到該參數后,便用一個變量來接收同時作為token保存在數據庫中,並將該token設置到session中,客戶端每次請求的時候都要統一攔截,並將客戶端傳遞的token和服務器端session中的token進行對比,如果相同則放行,不同則拒絕。

分析:客戶端和服務端統一了唯一標識token,且保證每一個設備擁有一個唯一的會話。
缺點: 客戶端需要帶設備號/mac地址作為參數傳遞,且服務端需要保存。
優點: 客戶端不需要重新登錄,只要登陸一次以后一直可以使用,至於超時的問題服務端處理。處理方式:服務器token超時后,服務器只需將客戶端傳遞的token向數據庫中查詢,同時並賦值給變量token,這樣可以使token重新計時。

  1. 用session值作為token
    • 客戶端:客戶端只需攜帶用戶名和密碼登錄即可。
    • 服務端: 服務端接收到用戶名和密碼后判斷,如果正確就將本地獲取sessionID作為token返回給客戶端,客戶端以后只需要帶上請求數據即可。

分析:這種方式使用的好處是方便,不用存儲數據,缺點是session過期后,客戶端必須重新登錄才能進行訪問數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM