詳細(xì)介紹HTTP Cookie
Cookie總是保存在客戶端中,按在客戶端中的存儲位置,可分為內(nèi)存Cookie和硬盤Cookie。內(nèi)存Cookie由瀏覽器維護(hù),保存在內(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選項。
當(dāng)客戶端發(fā)送一個http請求時,會將有效的cookie一起發(fā)送給服務(wù)器。
如果一個cookie的domain和path參數(shù)和URL匹配,那么這個cookie就是有效的。
一個URL中包含有domain和path,可以參考http://www.dhdzp.com/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兩個進(jìn)程使用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
注:這種情況的后果下,如果有任意一個進(jìn)程再寫Session Cookie,那么其他進(jìn)程將獲取不到Cookie
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
chatGPT?deBug解決管理員登入服務(wù)器返回401問題
這篇文章主要介紹了chatGPT?deBug解決管理員登入,服務(wù)器返回401,沒有拿到數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Burpsuite模塊之Burpsuite Intruder模塊詳解
Burp Intruder主要有四個模塊組成,本文針對每一模塊給大家詳細(xì)介紹,對Burpsuite Intruder模塊相關(guān)知識感興趣的朋友一起看看吧2021-09-09
在VS2019環(huán)境下使用Opencv調(diào)用GPU版本YOLOv4算法的詳細(xì)過程
隨著人工智能的不斷發(fā)展,機器學(xué)習(xí)這門技術(shù)也越來越重要,很多人都開啟了學(xué)習(xí)機器學(xué)習(xí),本文就介紹了windows下YOLO的環(huán)境搭建流程,感興趣的朋友跟隨小編一起看看吧2022-10-10
ol7.7安裝部署4節(jié)點spark3.0.0分布式集群的詳細(xì)教程
這篇文章主要介紹了安裝部署4節(jié)點spark3.0.0分布式集群,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

