HTTP Cookie
生活随笔
收集整理的這篇文章主要介紹了
HTTP Cookie
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Cookie相關的Http頭
Set-Cookie Header
在程序中生成expire
Set-Cookie Header? ? ? Set-Cookie響應頭的格式如下所示:
? ? ? ? Set-Cookie: <name>=<value>[; <name>=<value>]... ? ? ? ? ? ? ? ? ? ? [; expires=<date>][; domain=<domain_name>] ? ? ? ? ? ? ? ? ? ? [; path=<some_path>][; secure][; httponly]
? ? expires=<date>: 設置cookie的有效期,如果cookie超過date所表示的日期時,cookie將失效。 ? ? ? ? ? ? ? ? ? ? 如果沒有設置這個選項,那么cookie將在瀏覽器關閉時失效。 ? ? ? ? ? ? ? ? ? ? 注意: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 ? ? ? ? ? ? ? ? ? ? ? ? ? ? The 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參數的cookie)不能帶有domain選項。 ? ? ? ? ? ? ? ? ? ? 當客戶端發送一個http請求時,會將有效的cookie一起發送給服務器。 ? ? ? ? ? ? ? ? ? ? 如果一個cookie的domain和path參數和URL匹配,那么這個cookie就是有效的。
? ? secure ? : 表示cookie只能被發送到http服務器。 ? ? httponly : 表示cookie不能被客戶端腳本獲取到。
? ? ? ? char strExperis[50]; ? ? ? ? strftime(strTimeBuf, 100, " %a, %d %b %Y %X GMT;", gmTime);
? ? JavaScript的方式? ? ? ? ? var d = new Date(); ? ? ? ? var expires = d.toGMTString();
Set-Cookie Header
在程序中生成expire
Cookie相關的Http頭
? ? 有 兩個Http頭部和Cookie有關:Set-Cookie和Cookie。 ? ? Set-Cookie由服務器發送,它包含在響應請求的頭部中。它用于在客戶端創建一個Cookie ? ? Cookie頭由客戶端發送,包含在HTTP請求的頭部中。注意,只有cookie的domain和path與請求的URL匹配才會發送這個cookie。Set-Cookie Header? ? ? Set-Cookie響應頭的格式如下所示:
? ? ? ? Set-Cookie: <name>=<value>[; <name>=<value>]... ? ? ? ? ? ? ? ? ? ? [; expires=<date>][; domain=<domain_name>] ? ? ? ? ? ? ? ? ? ? [; path=<some_path>][; secure][; httponly]
? ? expires=<date>: 設置cookie的有效期,如果cookie超過date所表示的日期時,cookie將失效。 ? ? ? ? ? ? ? ? ? ? 如果沒有設置這個選項,那么cookie將在瀏覽器關閉時失效。 ? ? ? ? ? ? ? ? ? ? 注意: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 ? ? ? ? ? ? ? ? ? ? ? ? ? ? The 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參數的cookie)不能帶有domain選項。 ? ? ? ? ? ? ? ? ? ? 當客戶端發送一個http請求時,會將有效的cookie一起發送給服務器。 ? ? ? ? ? ? ? ? ? ? 如果一個cookie的domain和path參數和URL匹配,那么這個cookie就是有效的。
? ? ? ? ? ? ? ? ? ? 一個URL中包含有domain和path,可以參考http://www.w3school.com.cn/html/html_url.asp
?
? ? secure ? : 表示cookie只能被發送到http服務器。 ? ? 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來設置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?
?
轉載于:https://www.cnblogs.com/hdtianfu/archive/2013/05/30/3108295.html
總結
以上是生活随笔為你收集整理的HTTP Cookie的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于 Windows6.1-KB2999
- 下一篇: 代数数论趣题集萃