国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于Cookie的那些事

sf_wangchong / 3388人閱讀

摘要:假設有兩個域名域名域名域名有分級的概念,也就是說域名與域名都是的子域名,又是的子域名在域名所使用的服務中,可以設置域名在服務端設置的時候,設置為或沒有區別,注意前面的點,即只要是為顯式的聲明,前面帶不帶點沒有區別。

1 Cookie簡介

Cookie是由W3C組織提出,最早由NetScape社區發展的一種機制。Cookie是存儲于訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某個頁面時,就會發送這個cookie。其實cookie是一個很小的文本文件,是瀏覽器儲存在用戶的機器上的。Cookie是純文本,沒有可執行代碼。儲存一些服務器需要的信息,每次請求站點,會發送相應的cookie,這些cookie可以用來辨別用戶身份信息等作用。cookie可以包含任意的信息,客戶端會記錄服務器返回來的Set-Cookie首部中的cookie內容。并將cookie存儲在瀏覽器的cookie數據庫中,當用戶訪問同一站點時,在Cookie請求首部發送過去。

2 JavaScript操作cookie

JavaScript 可以使用 document.cookie 屬性來創建 、讀取、及刪除 cookie。
JavaScript 中,創建 cookie 如下所示:

document.cookie="username=John Doe";

您還可以為 cookie 添加一個過期時間(以 UTC 或 GMT 時間)。默認情況下,cookie 在瀏覽器關閉時刪除:

document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT";

您可以使用 path 參數告訴瀏覽器 cookie 的路徑,domain 參數告訴瀏覽器 cookie 的域名。默認情況下,cookie 屬于當前頁面。

document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/; domain= .abc.com";

在 JavaScript 中, 可以使用以下代碼來讀取 cookie:

var x = document.cookie;

document.cookie 將以字符串的方式返回所有的 cookie,類型格式: cookie1=value; cookie2=value; cookie3=value;

3 關于cookie的domain

domain的含義為域。假設有兩個域名
域名A a.b.e.f.com.cn
域名B c.d.e.f.com.cn
域名有分級的概念,也就是說域名A與域名B都是f.com.cn的子域名,f.com.cn又是com.cn的子域名
在域名A所使用的服務中,可以設置域名
a.b.e.f.com.cn
b.e.f.com.cn
e.f.com.cn
f.com.cn
在服務端設置domain的時候,設置domain為b.e.f.com.cn或.b.e.f.com.cn沒有區別,注意前面的點,即只要是為cookie顯式的聲明domain,前面帶不帶點沒有區別。這個點的奧妙后面還會提到。
設置其他域名雖然可以在響應頭中有set-cookie的頭,但是出于安全考慮,該頭會被瀏覽器忽略,并不會產生真實的cookie,有一點注意,雖然在域名上來說,f.com.cn是com.cn的子域,但是瀏覽器是不會接收domain為com.cn的cookie的,那樣互聯網就亂套了。
對于域名A下的cookie,域名B可以拿到e.f.com.cn,f.com.cn這兩個domain下的cookie,互聯網上說的單點登錄,就是以這個原理實現的。
如果存在相同名的cookie不同domain呢?
比如域名A設置設置domain為e.f.com.cn的cookie,mykey=myvalue1。
而在域名B中設置domain為c.d.e.f.com.cn的cookie,mykey=myvalue2。
此時在域名B服務端能拿到兩個cookie都為mykey=myvalue,并不存在覆蓋一說。
注意在域名B中如果設置domain為e.f.com.cn的cookie,mykey=myvalue3.此時會覆蓋域為e.f.com.cn的mykey的值,即瀏覽器中,同一個域,只存在一個名為mykey的cookie。如果不顯式設置cookie,默認當前域名這種說法對不對呢? 先說第一個問題,如果不顯示設置cookie,那么瀏覽器會生成一個只針對當前域名的cookie,什么叫只針對當前域名呢?如果有一個域名就是e.f.com.cn,在該域名下設置的cookie如果沒有顯示domain,在回寫瀏覽器的時候瀏覽器會特殊處理,如果是火狐,你會發現該cookie的信息,有一個主機項,而域項消失了,在chrome中,雖然有域這個項,但是域的前面少了一個點,就是上面所說的,如果顯示聲明,不管域中帶不帶點,到chrome中,都是帶點存儲的,只有非顯式聲明域的cookie,瀏覽器存儲才是不帶點的,問題就在這,在e.f.com.cn服務主機中生成的cookie,只有e.f.com.cn的服務器能拿到,此時子域名是拿不到這個cookie的。、

擴展

對于前后端涉及到的跨域問題可以查找withCredentials相關資料
面試問題經常問到的關于cookie的問題 cookie與session區別 cookie與 localstorage區別

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102612.html

相關文章

  • 關于Cookie那些

    摘要:假設有兩個域名域名域名域名有分級的概念,也就是說域名與域名都是的子域名,又是的子域名在域名所使用的服務中,可以設置域名在服務端設置的時候,設置為或沒有區別,注意前面的點,即只要是為顯式的聲明,前面帶不帶點沒有區別。 1 Cookie簡介 Cookie是由W3C組織提出,最早由NetScape社區發展的一種機制。Cookie是存儲于訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某...

    alogy 評論0 收藏0
  • cookie和session那些

    摘要:服務器生成的用以標識客戶信息的一般被稱為而通過一些手段獲取其它用戶的攻擊就叫劫持設置一個搞掂了 cookie history cookie最初是由網景公司開發的,現在所有主要的瀏覽器都支持它. type cookie分為兩種:會話cookie和持久cookie. 會話cookie是一種臨時的cookie,它記錄用戶的訪問站點的設置偏好.用戶在退出瀏覽器就會被刪除. 持久cookie是存...

    xiaoxiaozi 評論0 收藏0
  • cookie和session那些

    摘要:服務器生成的用以標識客戶信息的一般被稱為而通過一些手段獲取其它用戶的攻擊就叫劫持設置一個搞掂了 cookie history cookie最初是由網景公司開發的,現在所有主要的瀏覽器都支持它. type cookie分為兩種:會話cookie和持久cookie. 會話cookie是一種臨時的cookie,它記錄用戶的訪問站點的設置偏好.用戶在退出瀏覽器就會被刪除. 持久cookie是存...

    hedzr 評論0 收藏0
  • cookie和localStorage那些

    摘要:它的大小限制為左右,是網景公司的前雇員在年月的發明。字符串轉義通過來設置的有效期。和的用法和屬性允許在瀏覽器中存儲對的數據。用于臨時保存同一窗口或標簽頁的數據,在關閉窗口或標簽頁之后將會刪除這些數據。是瀏覽器關閉后就立即清除。 一、localStorage、cookie、sessionStorage的區別與練習 showImg(https://segmentfault.com/img/...

    Jeffrrey 評論0 收藏0
  • 我們來聊聊Cookie、Session和Storage那些

    摘要:目的是克服由所帶來的一些限制,當數據需要被嚴格控制在客戶端時,不需要持續的將數據發回服務器。的生命周期是在僅在當前會話下有效。但是在關閉了瀏覽器窗口后就會被銷毀。刪除單個數據,根據鍵值移除對應的信息。 導語 我們在做項目的時候,經常把Cookie和Session掛在嘴邊,可實際對于他們了解的也是很少,只是會使用,但這遠遠不夠,熟練的掌握他們的特性才能把項目做的更好。下面我們就來認識一下...

    ytwman 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<