iT邦幫忙

DAY 11
1

前端小字典三十天【每日一字】系列 第 11

Day11– 前端小字典三十天【每日一字】– Cookies

Cookies是什麼?


圖片來源

網頁與網頁間本身沒有記憶,

當你登入網站後,透過cookie 就不需要在每一個網頁都要重新登入,

cookie 就像是一把鑰匙,可以讓你快速通關,

圖片來源

如果server需要記住client的資料時,此時需要cookies與session的協助。

那麼,先來筆記cookies是什麼

cookie是http header裡面其中一個欄位,cookie裡的資料以key/value的形式儲存。

簡單的來說就是,當你瀏覽網頁時,cookies 會儲存各種資訊,
包含個人資訊(例如:姓名、電子信箱...)
或者是用來儲存你的偏好語言與位置等內容。

例如:
登入網站時,網站會要求你輸入帳號、密碼,
某些網站提供用戶勾選「下次自動登入」的選項。
如果勾選了,網站就會透過cookies記錄你的個人資訊
如此一來,用戶登入後就不用再輸入帳號密碼

cookies存在哪裡?

用戶瀏覽網站時,瀏覽器會將cookies儲存在記憶體裡,
當瀏覽器關閉後,所有尚未到期的cookies會被儲存到 硬碟(cookies.txt 的純文字檔)裡,

下次用戶再瀏覽該網頁時,
瀏覽器便會根據 路徑(path) 與 domain 將 cookies 回傳給伺服器。

cookies按照客戶端的儲存位置,存在client端(客戶端),
可分為記憶體Cookie硬碟Cookie

記憶體的Cookie存在記憶體裡,由瀏覽器管理,瀏覽器關閉後Cookie就消失了。
硬碟的Cookie存在硬碟裡,除非用戶手動清理或到了過期時間,
否則硬碟Cookie不會被刪除。

簡單的來說,cookies 存在你的電腦裡面,
依照儲存時間,分為長期和臨時cookies。

cookies的問題?

cookies通常為記憶體的Cookie,存在你的瀏覽器裡,
傳送的過程中,容易被惡意的有心人士攔截你的個人資料,

針對此問題,可以透過以下方法:
1. 針對你的Cookie進行加密
2. 在瀏覽器裡設定時間定期或手動刪除cookie。
但還是建議開發者不要存敏感資料在cookies裡

cookies的的限制?

client(客戶端)最多可以同時擁有 300 個 cookies,
一旦Cookie超過300個,舊Cookie就會被自動刪除。
同一個伺服器最多只能建立 20 個 cookies 給同一個使用者。
每個 cookies 最大只能到 4K。
cookies.txt 最大只能到 1.2MB。

小結:

當server想要儲存使用者的某些狀態時,可以發送cookie給client。

參考資料

Cookies 和 Session 的神秘關係
http://andikan.github.io/blog/2012/10/03/cookie-and-session/

Session 與 Cookies 程式設計
http://www.jollen.org/php/216\_session\_cookies/

維基百科-Cookie
http://zh.wikipedia.org/wiki/Cookie#.E4.BD.BF.E7.94.A8.E5.92.8C.E7.A6.81.E7.94.A8Cookies

What are session cookies used for?

http://www.allaboutcookies.org/cookies/session-cookies-used-for.html


上一篇
Day10– 前端小字典三十天【每日一字】– CSS Sprites
下一篇
Day12– 前端小字典三十天【每日一字】– session
系列文
前端小字典三十天【每日一字】30

尚未有邦友留言

立即登入留言