[不是工程師] Cookie 是文檔還是餅乾?簡述HTTP網頁紀錄會員資訊的一大功臣。
從淘寶到Airbnb,為何他們總能知道我們是誰呢?
提供科技用詞或是功能另外一種理解的方式,
所以很多用詞與邏輯可能不是那麼的嚴謹,還請見諒。
以下為我們的補充。
相信常使用電子商務網站的我們,心中一定有個長久的不解之迷,
今天也許用網站實例來作連想會比較有些許聯想上的困難,
首先瀏覽器和WEB服務(或是Server)之間,
所以我們可以比擬成我們就是使用服務的Client端,
Cookie 技術是網路時代的快速變遷下所誕生的產物,隨著網路的快速發展,
早期的概念上Cookie是由Web server端產生的,作為發送給给User-Agent(
從這樣的概念可以知道,Cookie(
而正因為他是儲存在我們用戶的本機端,
以電子商務網站舉例,因為HTTP的無狀態性,
而像是登入的應用為例,就是使用者登入一個網站時,
而Cookie属性除了name(名)和value(值)之外,
1.expires: 表示Cookie的保存期限,
2.path: 指定與cookie關連在一起的網頁,
3.domain: 設定cookie有效的網域名稱,可以和path一同設定,
4.secure:算是cookie的安全值,
但是其實我們都知道,像是瀏覽記錄也可以算是cookie的一種,
除上述議題之外,若你的電腦裡有多個瀏覽器,
MDN : Mozilla Web Document 定義 Cookie
An HTTP cookie (web cookie, browser cookie) is a small piece of data that a server sends to the user's web browser. The browser may store it and send it back with the next request to the same server. Typically, it's used to tell if two requests came from the same browser — keeping a user logged-in, for example. It remembers stateful information for the stateless HTTP protocol.
中譯:
HTTP (超文本傳輸安全協定) cookie (小餅乾或小型文字檔案) 是一段由伺服器送給使用者瀏覽器的一小塊資料。
瀏覽器會儲存它並且在瀏覽器下一次發送要求的時候將它送回原本送來的伺服器。基本上,它是用來區分兩個要求是來自同一個瀏覽器 — 以此去保持使用者的登入狀態。例如,它提供了保存狀態資訊的功能,來幫助HTTP這個無法紀錄狀態的通訊協定。
補充:
雖然HTTP廣泛的運用並且用來做很多神奇的事情,大家都習慣了。但是HTTP這個通訊協定其實是沒有辦法保留狀態的(這要由TCP開始說起,本文不太探討這個)。所以光使用HTTP使無法紀錄使用者登入的,必須要外加其他功能才有辦法,其中一個廣泛使用的方式就是使用Cookie。但是因為Cookie太廣泛使用了,現在只要是使用HTTP就一定會使用Cookie,所以才會造成新手有一種錯覺:“Cookie是HTTP通訊協定所包含的一種功能”。實際上,比較準確的說法應該是:“Cookie是一種可以跟HTTP一起使用的功能,並且被廣泛使用”。它多半是使用HTTP Request的Header區塊來實作。
最後,如果你喜歡我們的文章,別忘了到我們的FB粉絲團按讚喔!!