2020年12月1日 星期二

(html) cookie 的認識

早期的概念上Cookie是由Web server端產生的,作為發送給给User-Agent(一般是瀏覽器端),而當瀏覽器接收到Cookie後,會將其中的key/value,保存到某個路徑內的文本文件之中,讓下次於造訪同一網站時,就可以將Cookie自動發送给Web Server端
從這樣的概念可以知道,Cookie(複數形態為Cookies)是屬於一種小型的文字檔案,透過加密的方式儲存在用戶端(Client Side)上的資料,一般來說 cookie 會紀錄用戶的資訊,比較常見的做法是應用在購物車、會員登入或瀏覽紀錄、停留時間等等的,使Web service 可以透過辨別用戶身分,來取得相關的資訊 。
-
正因為他是儲存在我們用戶的本機端,通常可以儲存的地方有兩個:記憶體或硬體內,記憶體是由Browser(瀏覽器)來維護的,通常會在瀏覽器關閉後清除,而各個瀏覽器之間的Cookie是無法相互使用,也就是說對於在同一台電腦上使用Chorme或是Firefox,僅管操作的是同一個人,卻是會認成兩個不一樣的角色,而硬體的Cookie則會有一個保存期限,除非過期或是手動刪除,不然他的儲存時間會較瀏覽器來的長。
以電子商務網站舉例,因為HTTP的無狀態性,伺服器並不知道使用者在每個頁面跳轉時到底帶入了什麼資訊,而Cookie就是用來繞開HTTP的無狀態性的「額外手段」之一,讓伺服器可以設定或讀取Cookies中所包含資訊,藉此維護使用者在使用服務時,在背景完成並可以持續跟伺服器發送請求以及對談中的狀態。
-
Cookie属性除了name(名)和value(值)之外,還有以下四種可選擇的属性,來控制cookie的保存期限,作用網域及安全性:
1.expires: 表示Cookie的保存期限,在默認的情況下為暫時性的cookie,只要關閉瀏覽器就會消失
2.path: 指定與cookie關連在一起的網頁,默認的狀況下為和當前網頁同一目錄的網頁中有效。
3.domain: 設定cookie有效的網域名稱,可以和path一同設定,讓相同/類似的domain可以享有同樣的cookie
4.secure:算是cookie的安全值,在默認的情況cookie的傳輸上是不安全的,可以通過一個不安全且一般的http,若設置為安全的狀況下,可以讓cookie只在安全的http上進行傳輸
-
cookie本身無法準確的區分身分,需要結合Session來作到同步的辨識,才可以有效的作身分上的區分

沒有留言:

張貼留言

(Centos-7s) 更新: 網卡名稱改回 eth0 的方法

將 CentOS 7 網卡名稱修改, 用回 Eth0 的方法:   1) # vi /etc/sysconfig/grub 內容大概是這樣:   GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release...