我們在瀏覽器中,經常涉及到資料的交換,例如你登入郵箱,登入一個頁面。我們經常在此時設定30天內記住我,或自動登入選項。那麼它們是怎麼記錄資訊的呢,答案就是今天的主角cookie了,Cookie是由HTTP伺服器設定的,保存在瀏覽器中,但HTTP協議是一種無狀態協議,在資料交換完畢後,伺服器端和客戶端的連結就會關閉,每次交換資料都需要建立新的連結。
你進入某個網站,需要登入密碼和帳號。你初次註冊之後,登錄,進入網站主頁。這時你的計算機就會自動保存一個cookie資訊(該資訊可以透過火狐瀏覽器查看,chrom不具備這項功能),該資訊包含你初次登入的帳號和密碼,當你下次再登入這個網站時瀏覽器會自動取出電腦中相關的cookie訊息,這樣就不會出現登入頁面而是直接跳到網站主頁。
以新浪微博為例
1、下方顯示查看cookie資訊的動作
上圖顯示的一系列的資料夾,包含一系列的進入各個網站的相關資訊。
2、以「新浪微博」為例來觀察cookie訊息的建立與消失
首先我點擊新浪「全部移除」(此功能在上圖中的最底部),消除所有的cookie資訊。然後進入新浪微博頁面。
此時顯示未登入狀態。再次清除所有cookie資訊(登入網站就會出現這些無關重要的cookie資訊),避免對後面的演示造成影響。
##查看cookie(第一個資料夾裝載這幾條cookie資訊)
注意名稱與內容。 ”a=hello”等號前面表示名稱,等號後面表示內容。
**透過上面這種方式創建的cookie比較繁瑣,如果多寫幾條就會顯得麻煩。我們可以透過函數的方式來建立cookie。
cookie既然已經創建,那麼我們登入頁面的時候,瀏覽器會透過什麼樣的程式來取得電腦中任意一條cookie訊息。
我們現在透過 alert(document.cookie);看到的效果如下圖:
#是一條長長的字串。我們現在要做的是獲取其中單條cookie訊息,並且輸出等號後面的值。做法如下:
輸出結果如下:
**為什麼alert(getCookie(“眼睛”));alert(getCookie(“頭髮”)) ;這兩個程式碼運行的時候為什麼顯示為空?
為什麼要加一個空格?
如上圖所示,透過split()分割字串時要這樣寫:split(“; “);
只要將cookie的過期時間設為負值,cookie就會直接消失。
就上面的cookie來說吧,要想掌握cookie,就必須懂它的來源,是什麼,它存在的意義是就是為了保存用戶的信息,然後知道是怎麼保存的,保存的形式知道了,就可以運用我們學到的js基礎知識語法來操作它改變它,使之變為我們需要的樣子,懂了需求之後,歸根到底還是考察js的基礎操作,字符串的操作,正規表示式的應用等等。
更多關於cookie文章:
以上是Cookie的用法詳細講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!