當我們在 Stackoverflow 上尋找為什麼會出現某個 bug 時,常常會在網站的左下角看到一個視窗,要你點選「同意所有 cookies」 cookie 究竟代表的是什麼意思呢?
Cookie
簡單來說,cookie 會儲存你之前在這個網站所做過的動作,並存在記憶體中,由於 HTTP 是無狀態的(Stateless),也就是說伺服器不會記得使用者前面做過了什麼事,所以只要你關閉網站或是跳頁,伺服器就不會認得使用者之前所做過的動作。在登入時,常常會看到已經幫我們自動填入帳號密碼,那也是因為有了 cookie 的功勞!
Cookie 依照儲存位置可分為「記憶體 Cookie」和「硬碟 Cookie」
-
記憶體 Cookie
- 由瀏覽器管理,存在記憶體中
- 瀏覽器關閉,資料就會消失
- 儲存時間較短暫
-
硬碟 Cookie
- 存在硬碟中
- 有有效期限,時間到了或是使用者手動清理,Cookie 就會被清除
- 儲存時間較長
如何檢視 Cookie 的資料
打開 Chrome 瀏覽器,點選右上角的三個點點>「設定」>「隱私性和安全性」>「Cookie 和其他網站資料」>「顯示所有 Cookie 和網站資料」,就能看到瀏覽器中的所有網站的 Cookie 和裡面的資料了!
Cookie 的限制
你想說有 Cookie 這麼方便的東西,我們還需要別的東西嗎? 需要,因為下面的這些限制,我們還有 Local Storage 和 Session Storage,至於這兩個是什麼會在下一篇介紹
- 一個 Cookie 最多只能儲存 4KB 的資料
- 客戶端可以儲存的 Cookie 最大數量是 300 個,若超過會自動刪除多出來的