四種會話跟蹤技術的對比


會話跟蹤是一種靈活的機制,雖然HTTP是一種無狀態協議,但會話跟蹤技術使Web上的狀態編程成為可能,目前普遍存在四種會話跟蹤技術:URL重寫、隱藏表單域、Cookie、Session。

1 隱藏表單域

<input type="hidden" id="xxx" value="xxx">
  • 特點
    • (參數存放)參數是存放在請求實體里的,因此沒有長度限制,但是不支持 GET 請求方法,因為 GET 沒有請求實體
    • (Cookie禁用)當Cookie被禁用時依舊能夠工作
    • (持久性)不存在持久性,一旦瀏覽器關閉就結束

2 URL 重寫

可以在 URL 后面附加參數,和服務器的請求一起發送,這些參數為鍵/值對

  • 特點
    • (參數存放)參數是存放在 url 里的,有1024長度限制
    • (Cookie禁用)當Cookie被禁用時依舊能夠工作
    • (持久性)不存在持久性,一旦瀏覽器關閉就結束

Cookie 是瀏覽器保存的一個小文件,其包含多個鍵值對

服務器首先使用 Set-Cookie 響應頭傳輸多個參數給瀏覽器,瀏覽器將其保存為 Cookie,后續對同一服務器的請求都使用
Cookie 請求頭將這些參數傳輸給服務器

  • 特點
    • (參數存放)參數是存放在請求頭部里的,也存在長度限制,但這個限制是服務器配置的限制,可以更改
    • (Cookie禁用)可能會禁用Cookie
    • (持久性)瀏覽器可以保存Cookie一段時間,在此期間Cookie持續有效

4 Session

基於前三種會話跟蹤技術之一(一般是基於Cookie技術基礎,如果瀏覽器禁用Cookie則可以采用URL重寫技術),在每一次請求中只傳輸唯一一個參數:JSESSIONID,即會話id,服務器根據此會話id開辟一塊會話內存空間,以存放其他參數

  • 特點
    • 會話數據全部存放在服務端,減輕了客戶端及網絡壓力,但加劇了服務端壓力
    • 既然是基於前三種會話技術之一(Cookie、url重寫、隱藏表單域),因此也具備其對應的幾個特點


免責聲明!

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



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