cookie

定義:在連接之間存儲持久的客戶端狀態(tài)的小文本串

只能是非空白符的ASCII文本,不能包含逗號或分號

cookie在請求和響應(yīng)的HTTP首部,從服務(wù)器傳遞到客戶端,再從客戶端傳回到服務(wù)器

cookie值通常不包含數(shù)據(jù),只是指示服務(wù)器上的數(shù)據(jù)


cookie作用域

默認(rèn)作用域是最初的URL所指向的服務(wù)器和所有子域及所有子目錄

可通過多個(gè)屬性控制其作用域(過期日期,路徑,端口,版本,安全選項(xiàng))

Domain 可指示一個(gè)cookie應(yīng)用于整個(gè)子域,而不只是最初的服務(wù)器

如Set-cookie:user=elharo;Domain=foo.example.com

Path 路徑限制

如Set-cookie:user=elharo;path=/restricted

請求相同服務(wù)器子樹/restricted中的一個(gè)文檔時(shí),客戶端會回顯此cookie

cookie也可同時(shí)包括域和路徑

如Set-cookie:user=elharo;Domain=foo.example.com;path=/restricted

不同cookie屬性的順序無關(guān)緊要,只需用;隔開,但客戶端發(fā)送回服務(wù)器時(shí),路徑必須在域前面

expires 格式:Wdy,DD-Mon-YYYY HH:MM:SS GMT

設(shè)置cookie在這個(gè)時(shí)間點(diǎn)過期

Max-Age 可設(shè)置cookie經(jīng)過一定秒數(shù)過期

secure 無值的安全屬性

cookie可能包含敏感信息,如口令和會話密鑰,所以一些cookie應(yīng)當(dāng)是安全的

httponly 告訴瀏覽器只能通過HTTP和HTTPS返回cookie

特別強(qiáng)調(diào)不能由javascript返回,為針對cookie竊取提高安全性


CookieManager

java.net.CookieHandler ?定義了存儲和獲取cookie的API

CookieManager manager=new CookieManager();

cookieHandler.serDefault(manager);

即可實(shí)現(xiàn)從網(wǎng)站接收cookie,再把它們發(fā)回給這些網(wǎng)站,Java會存儲這些服務(wù)器發(fā)送的所有cookie

對于接收哪里發(fā)送的cookie:

CookiePolicy.ACCEPT_ALL ?接受所有cookie

CookiePolicy.ACCEPT_NONE 不接受任何cookie

CookiePolicy.ACCEPT_ORIGINAL_SERVER 只接受第一方cookie

需在保存cookie數(shù)據(jù)之前設(shè)置:(有待驗(yàn)證)

manager.setCookiePolicy(cookiePolicy.xxxx);

更細(xì)粒度控制可實(shí)現(xiàn)cookiePolicy接口,覆蓋shouldAccept()方法

CookieStore

有時(shí)需在本地存放和獲取cookie

CookieStore store=manager.getCookieStore();

允許增加、刪除和列出cookie

此庫中的cookie都封裝在一個(gè)HttpCookie對象中

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTTP cookie(也稱為web cookie,網(wǎng)絡(luò)cookie,瀏覽器cookie或者簡稱cookie)是網(wǎng)...
    留七七閱讀 18,382評論 2 71
  • 背景在HTTP協(xié)議的定義中,采用了一種機(jī)制來記錄客戶端和服務(wù)器端交互的信息,這種機(jī)制被稱為cookie,cooki...
    時(shí)芥藍(lán)閱讀 2,467評論 1 17
  • 注:本文轉(zhuǎn)載自前端大全 背景 在HTTP協(xié)議的定義中,采用了一種機(jī)制來記錄客戶端和服務(wù)器端交互的信息,這種機(jī)制被稱...
    楠小忎閱讀 738評論 0 0
  • 什么是CALayer 在iOS中,你能看得見摸得著的東西基本上都是UIView,比如一個(gè)按鈕、一個(gè)文本標(biāo)簽、 一個(gè)...
    嗶哩嗶哩智能喵閱讀 393評論 0 0
  • 案例多圖下載 NSInvocationOperation NSBlockOperation NSOperation...
    SK丿希望閱讀 339評論 0 2

友情鏈接更多精彩內(nèi)容