Cookie用于服務(wù)器實(shí)現(xiàn)會(huì)話,用戶登錄及相關(guān)功能時(shí)進(jìn)行狀態(tài)管理。要在用戶瀏覽器上安裝cookie,HTTP服務(wù)器向HTTP響應(yīng)添加類似以下內(nèi)容的HTTP報(bào)頭:
expires是cookie的生存周期,path是cookie的有效路徑,domain是cookie的有效域.
路徑"path"用于設(shè)置可以讀取一個(gè)cookie的最頂層的目錄.將cookie的路徑設(shè)置為你的網(wǎng)頁最頂層的目錄可以讓該該目錄下的所有網(wǎng)頁都能訪問該cookie.
方法:在你的cookie中加入path=/; 如果你只想讓"food" 目錄中的網(wǎng)頁可以使用該cookie,則你加入path=/food.
domain:有些網(wǎng)站有許多小的域名,例如百度可能還在"news.baidu.com" "zhidao.baidu.com" 和"v.baidu.com" 域名下有網(wǎng)頁.如果想讓"baidu.com"下的所有機(jī)器都可以讀取該cookie,必須在cookie中加入 "domain=.baidu.com" .
用戶瀏覽器會(huì)存儲(chǔ)Cookie直到過期,瀏覽器會(huì)向符合path和domain的服務(wù)器發(fā)送類似以下內(nèi)容的HTTP請(qǐng)求報(bào)頭:
Cookie:session=8345234。
例如,登陸www.baidu.com的時(shí)候,百度服務(wù)器發(fā)送回的HTTP響應(yīng)報(bào)頭中cookie是:
瀏覽器的HTTP請(qǐng)求報(bào)頭:
瀏覽器將cookie發(fā)送回HTTP服務(wù)器時(shí),使用key=value字符串的編碼形式,不返回expires,path和domain等可選屬性。
cookie字符串通常位于HTTP_COOKIE環(huán)境變量中,可以如下讀取:
Python中Cookie模塊(python3中為http.cookies)提供了一個(gè)類似字典的特殊對(duì)象SimpleCookie,其中存儲(chǔ)并管理著稱為Morsel的cookie值集合。
每個(gè)Morsel都有name,value以及可選屬性(expires,path,domain,comment,max-age,secure,version,httponly)。
SimpleCookie可使用output()方法創(chuàng)建以HTTP報(bào)頭形式表示的cookie數(shù)據(jù)輸出,用js_output()方法生成包含javascript代碼的字符串。
用HTTP_COOKIE生成cookie:
set cookie:
輸出:
新聞熱點(diǎn)
疑難解答
圖片精選