Cookie的特點和使用經驗/建議總結

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

一、前言

  • 什麼是Cookie?

Cookie就是以Key,Value的形式儲存在瀏覽器端的資料。
https://baike.baidu.com/item/cookie/1119

二、工作原理&應用情境

  • 工作原理

在Request的時候,瀏覽器將Cookie資訊放在HTTP-Request Headers中。
在Response的時候,瀏覽器儲存HTTP-Response Headers資訊中的Cookie資訊。

Cookie的核心資訊包含三個部分:Name、Value、到期時間。
Cookie的儲存是覆蓋式的,所以Cookie的添加、更新、刪除對於瀏覽器來說都是執行設定(set)的動作。

  • 應用情境
  1. 記住使用者名稱
  2. 購物車資訊

三、特點

1、儲存特點

  • (1)儲存大小受限,跟瀏覽器版本有關
  • (2)儲存條數受限,跟瀏覽器版本有關
  • (3)字元編碼為Unicode,不支援直接儲存中文
  • (4)儲存內容可以被輕鬆查看,不建議儲存敏感資訊
  • (5)可靠性差,可能隨時都會因為各種原因被刪除
  • (6)儲存屬性除了Name、Value、到期時間,還有Domian、Path,當前域可以操作當前域子域、父網域名稱的Cookie,當前Path,可以操作當前Path以及當前Path子、父Path下的Cookie。

domian:www.ken.io 是ken.io的子域,是test.www.ken.io的父域,同時也是blog.ken.io的同級網域名稱。www.ken.io下的應用可以訪問ken.io以及*.www.ken.io下的Cookie,但是不能訪問blog.ken.io下的Cookie

path:例如頁面:http://ken.io/home/about 路徑是/home/about,這個路徑下可以訪問到根路徑/以及/home/*路徑下的Cookie,當時不能訪問到/category下的Cookie

2、傳輸特點

  • (1)每次Request用戶端符合domian以及path要求的Cookie都會通過Request Headers傳輸到伺服器端
  • (2)傳輸的Cookie大小會受到瀏覽器以及Web伺服器的限制

3、安全特點

  • Cookie中的資訊很容易被查看,建議加密後儲存
  • Cookie容易被XSS攻擊利用,可以設定HttpOnly=true,不允許用戶端訪問(99.9%的瀏覽器有效)

四、使用經驗/建議

  • 不要儲存未經加密敏感資訊(安全性)
  • 如果不需要在用戶端訪問,設定HttpOnly=true(安全性)
  • 設定合理的到期時間(傳輸效率)
  • 不要儲存過大的內容(傳輸效率)
  • 不要儲存過多的條目(傳輸效率)
  • 設定合理的domian、path,減少不必要的Cookie傳輸(傳輸效率)
  • 不要儲存非Unicode字元(可用性)
  • 不要儲存不可恢複的資訊(可靠性)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.