詳細介紹HTTP Cookie
Cookie總是保存在客戶端中,按在客戶端中的存儲位置,可分為內(nèi)存Cookie和硬盤Cookie。內(nèi)存Cookie由瀏覽器維護,保存在內(nèi)存中,瀏覽器關(guān)閉后就消失了,其存在時間是短暫的。硬盤Cookie保存在硬盤里,有一個過期時間,除非用戶手工清理或到了過期時間,硬盤Cookie不會被刪除,其存在時間是長期的。所以,按存在時間,可分為非持久Cookie和持久Cookie。
Cookie相關(guān)的Http頭
有 兩個Http頭部和Cookie有關(guān):Set-Cookie和Cookie。
Set-Cookie由服務(wù)器發(fā)送,它包含在響應(yīng)請求的頭部中。它用于在客戶端創(chuàng)建一個Cookie
Cookie頭由客戶端發(fā)送,包含在HTTP請求的頭部中。注意,只有cookie的domain和path與請求的URL匹配才會發(fā)送這個cookie。
Set-Cookie Header
Set-Cookie響應(yīng)頭的格式如下所示:
Set-Cookie: <name>=<value>[; <name>=<value>]... [; expires=<date>][; domain=<domain_name>] [; path=<some_path>][; secure][; httponly]
expires=<date>: 設(shè)置cookie的有效期,如果cookie超過date所表示的日期時,cookie將失效。
如果沒有設(shè)置這個選項,那么cookie將在瀏覽器關(guān)閉時失效。
注意:date是格林威治時間(GMT),使用如下格式表示:DAY, DD MMM YYYY HH:MM:SS GMT
DAY The day of the week (Sun, Mon, Tue, Wed, Thu, Fri, Sat). DD The day in the month (such as 01 for the first day of the month). MMM The three-letter abbreviation for the month (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec). YYYY year. HH The hour value in military time (22 would be 10:00 P.M., for example). MM The minute value. SS The second value. domain=<domain_name> : path=<some_path>:
注:臨時cookie(沒有expires參數(shù)的cookie)不能帶有domain選項。
當客戶端發(fā)送一個http請求時,會將有效的cookie一起發(fā)送給服務(wù)器。
如果一個cookie的domain和path參數(shù)和URL匹配,那么這個cookie就是有效的。
一個URL中包含有domain和path,可以參考http://www.dbjr.com.cn/w3school/html/html_url.htm
secure : 表示cookie只能被發(fā)送到http服務(wù)器。
httponly : 表示cookie不能被客戶端腳本獲取到。
在程序中生成expires
C的方式
time_t curTime = time(NULL); tm * gmTime = gmtime(&curTime); char strExperis[50]; strftime(strTimeBuf, 100, " %a, %d %b %Y %X GMT;", gmTime);
JavaScript的方式
var d = new Date(); var expires = d.toGMTString();
Windows中的InternetSetCookie
在Windows中我們可以使用InternetSetCookie來設(shè)置Cookie,假如說,A和B兩個進程使用Cookie通信,那么會有如下幾種情況:
> A寫Global Cookie,B寫Session Cookie,此時,A中無法獲取Cookie
> A寫Session Cookie,B寫Session Cookie,此時,A與B中的Cookie互不影響
> A寫Session Cookie,B寫Global Cookie,此時A中的Cookie被Global Cookie覆蓋,它們共享一份Global Cookie
注:這種情況的后果下,如果有任意一個進程再寫Session Cookie,那么其他進程將獲取不到Cookie
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
win10環(huán)境安裝kettle與linux環(huán)境安裝kettle的詳細過程
kettle是一款免費開源的、可視化的、國際上比較流行的、功能強大的ETL必備工具,在ETL這一方面做的還不錯,下面介紹一下基于win10操作系統(tǒng)安裝kettle和linux操作系統(tǒng)安裝kettle的詳細過程,感興趣的朋友跟隨小編一起看看吧2022-11-11Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件
這篇文章主要為大家介紹了Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06eBay 打造基于 Apache Druid 的大數(shù)據(jù)實時監(jiān)控系統(tǒng)
Apache Druid 是一個用于大數(shù)據(jù)實時查詢和分析的高容錯、高性能開源分布式時序數(shù)據(jù)庫系統(tǒng),旨在快速處理大規(guī)模的數(shù)據(jù),并能夠?qū)崿F(xiàn)快速查詢和分析。這篇文章主要介紹了eBay 如何打造基于 Apache Druid 的大數(shù)據(jù)實時監(jiān)控系統(tǒng)?需要的朋友可以參考下2019-06-06iisschlp.wsc [88,25] 屬性值無效 : progid
今天在運行iisapp.vbs時候提示W(wǎng)indows Script Component - file://C:WINDOWSsystem32iisschlp.wsc [88,25] 屬性值無效 : progid,原來是因為安全設(shè)置惹的禍,以前就是因為這個一直沒解決2014-07-07MobaXterm連接服務(wù)器如何在關(guān)閉會話的情況下依然執(zhí)行程序(最新推薦)
這篇文章主要介紹了MobaXterm連接服務(wù)器如何在關(guān)閉會話的情況下依然執(zhí)行程序,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06提示“處理URL時服務(wù)器出錯”和“HTTP 500錯誤“的解決方法
關(guān)于提示“處理URL時服務(wù)器出錯”和“HTTP 500錯誤“的解決方法,需要的朋友可以參考下。2009-11-11