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

資訊專欄INFORMATION COLUMN

瀏覽器多個(gè)標(biāo)簽頁之間的通信之cookie篇

feng409 / 775人閱讀

摘要:如何解決瀏覽器多個(gè)標(biāo)簽頁之間的通信使用使用使用和概念簡單理解就是一種可以讓服務(wù)器在客戶端的硬盤或者內(nèi)存里面存儲(chǔ)少量數(shù)據(jù)或者說從客戶端硬盤讀取數(shù)據(jù)的技術(shù)的存放形式的信息是以名值形式保存一個(gè)名值僅僅是一條信息保存位置是,隱藏文件的功能多

如何解決瀏覽器多個(gè)標(biāo)簽頁之間的通信?

使用cookie

使用web worker

使用localeStorage和sessionStorage

cookie

概念

cookie簡單理解就是一種可以讓服務(wù)器在客戶端的硬盤或者內(nèi)存里面存儲(chǔ)少量數(shù)據(jù),或者說從客戶端硬盤讀取數(shù)據(jù)的技術(shù).

cookie的存放形式

cookie的信息是以名/值形式保存,一個(gè)名/值僅僅是一條信息

cookie保存位置

window7是C:UsersAdministratorCookies,隱藏文件(.txt).

cookie的功能

多用來記錄用戶的個(gè)人信息.畢竟HTTP是無狀態(tài)的協(xié)議.

cookie的工作原理

用戶在瀏覽器輸入url,發(fā)送請求,服務(wù)器接受請求

服務(wù)器在響應(yīng)報(bào)文中生成一個(gè)Set-Cookie報(bào)頭,發(fā)給客戶端

瀏覽器取出響應(yīng)中Set-Cookie中內(nèi)容,以cookie.txt形式保存在客戶端

如果瀏覽器繼續(xù)發(fā)送請求,瀏覽器會(huì)在硬盤中找到cookie文件,產(chǎn)生Cookie報(bào)頭,與HTTP請求一起發(fā)送.

服務(wù)器接受含Cookie報(bào)頭的請求,處理其中的cookie信息,找到對應(yīng)資源給客戶端.

瀏覽器每一次請求都會(huì)包含已有的cookie.

圖解基本的cookie知識點(diǎn)

cookie 是有大小限制的

每一個(gè)cookie都是合法格式的名值對

cookie是有有效期的(Expires)

cookie有domain域的概念,不同的域是不能進(jìn)行訪問的.可以通過設(shè)置document.domain來實(shí)現(xiàn)一些跨域.

cookie中的path路徑,一個(gè)頁面產(chǎn)生的cookie只能被與這個(gè)頁面的同一目錄或者是其子目錄下的頁面訪問(同源策略).

cookie的兩種形式

短暫性的:瀏覽器關(guān)閉后或者頁面關(guān)閉后就刪除cookie

具有有效期的(設(shè)置了有效時(shí)間),瀏覽器關(guān)閉依然存在硬盤

js操作cookie

獲取cookie

console.log(document.cookie)

//"r_user_id=f7aae2bb-6810-4ec9-b4c7-fbf2fe1e0738; PHPSESSID=web4~7rgfe5mbsjam50en9sujerd085;"

對cookie進(jìn)行存/改

document.cookie="key=value"

//key存在就修改為value,不存在就創(chuàng)建

讀取對應(yīng)的cookie值


var  getCookie  = function( keyName){


     var items = [] , json = {};

    var cookie = document.cookie;

     if( cookie.length > 0 ){

         items = cookie.split(";");

         for(var i = 0;i < items.length;i++){

             json[items[i].split("=")[0]] = items[i].split("=")[1] ;

         }

         return unescape(json[keyName]);    

     }else{
         return "";
     }


}



cookie有效期的設(shè)置

//第一種
function setCookie(c_name, value, expiredays){



     var exdate=new Date();//生成當(dāng)天一個(gè)時(shí)間

    exdate.setDate(exdate.getDate() + expiredays);//獲取當(dāng)天時(shí)間的天數(shù)+有效期天數(shù)



    document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
   //設(shè)置cookie

   }

//第二種

function setCookie(cname, cvalue, exdays) {

    var d = new Date();

    d.setTime(d.getTime() + (exdays*24*60*60*1000));

    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

``

原理都是一樣:格式不同.



- 刪除cookie(設(shè)置有效時(shí)間過期)

//刪除cookies
function clearCookie(name) {

setCookie(name, "", -1);  

}

//刪除cookies
function delCookie(name)
{

var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
    document.cookie= name + "="+cval+";expires="+exp.toGMTString();

}

代碼不放在服務(wù)器在chrome瀏覽器下不能處理cookie貌似


 > cookie的路徑訪問原則

 默認(rèn)情況下,只有與創(chuàng)建了cookie 的頁面在同一個(gè)目錄或子目錄下的網(wǎng)頁才可以訪問這個(gè)cookie.

www.csdn.cn/blog/a.html 創(chuàng)建了cookie

www.csdn.cn/blog/b.html 就可以訪問這個(gè)cookie頁(同一目錄)

www.csdn.cn/blog/xyz/c.html 也可以訪問這個(gè)cookie頁(字目錄)

www.csdn.cn/xx/d.html 就不可以訪問

如何跨域這個(gè)障礙呢?

原理:設(shè)置cookie到一個(gè)更高一級別的目錄下(前面那個(gè)例子就可以把path="/")

document.cookie = "name=value;expires=date;path=path"

最常用的例子就是讓 cookie 在根目錄下,這樣不管是哪個(gè)子頁面創(chuàng)建的 cookie,所有的頁面都可以訪問到了

document.cookie = "key=value;path=/"


 > cookie的域

引出這個(gè)話題是因?yàn)?設(shè)置path只能解決同域下的cookie訪問問題.不同域的cookie怎么訪問?

www.csdn.cn 與 qq.csdn.cn ,如果后者想訪問前者的cookie.

就要讓www.csdn.cn這么設(shè)置

document.cookie = "key = value;path=/;domain=csdn.cn"

 > cookie的編碼格式

在對cookie設(shè)置讀取時(shí)候記得處理編碼問題

        

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/81056.html

相關(guān)文章

  • 前端面試題1(HTML

    摘要:不存在或格式不正確會(huì)導(dǎo)致文檔以兼容模式呈現(xiàn)標(biāo)準(zhǔn)模式的排版和運(yùn)作模式都是以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。又稱內(nèi)核及以上版本,等內(nèi)核及以上。內(nèi)核原為,現(xiàn)為內(nèi)核等。如果不能確定時(shí),首選使用自然樣式標(biāo)簽 HTML 語義化 HTML標(biāo)簽的語義化是指:通過使用包含語義的標(biāo)簽(如h1-h6)恰當(dāng)?shù)乇硎疚臋n結(jié)構(gòu) css命名的語義化是指:為html標(biāo)簽添加有意義的class 為什么需要語義化: 去...

    starsfun 評論0 收藏0
  • 前端面試題1(HTML

    摘要:不存在或格式不正確會(huì)導(dǎo)致文檔以兼容模式呈現(xiàn)標(biāo)準(zhǔn)模式的排版和運(yùn)作模式都是以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。又稱內(nèi)核及以上版本,等內(nèi)核及以上。內(nèi)核原為,現(xiàn)為內(nèi)核等。如果不能確定時(shí),首選使用自然樣式標(biāo)簽 HTML 語義化 HTML標(biāo)簽的語義化是指:通過使用包含語義的標(biāo)簽(如h1-h6)恰當(dāng)?shù)乇硎疚臋n結(jié)構(gòu) css命名的語義化是指:為html標(biāo)簽添加有意義的class 為什么需要語義化: 去...

    zollero 評論0 收藏0
  • 前端面試題1(HTML

    摘要:不存在或格式不正確會(huì)導(dǎo)致文檔以兼容模式呈現(xiàn)標(biāo)準(zhǔn)模式的排版和運(yùn)作模式都是以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。又稱內(nèi)核及以上版本,等內(nèi)核及以上。內(nèi)核原為,現(xiàn)為內(nèi)核等。如果不能確定時(shí),首選使用自然樣式標(biāo)簽 HTML 語義化 HTML標(biāo)簽的語義化是指:通過使用包含語義的標(biāo)簽(如h1-h6)恰當(dāng)?shù)乇硎疚臋n結(jié)構(gòu) css命名的語義化是指:為html標(biāo)簽添加有意義的class 為什么需要語義化: 去...

    Anshiii 評論0 收藏0
  • localStorage、sessionStorage、Cookie區(qū)別及用法

    摘要:的區(qū)別及用法是本地存儲(chǔ),存儲(chǔ)在客戶端,包括和。僅在當(dāng)前會(huì)話下有效,關(guān)閉頁面或?yàn)g覽器后被清除。源生接口可以接受,亦可再次封裝來對和有更好的支持。但需要程序員自己封裝,源生的接口不友好。每個(gè)最多只能有條,每個(gè)長度不能超過。 localStorage、sessionStorage、Cookie的區(qū)別及用法 showImg(https://segmentfault.com/img/bVYLlH...

    sf_wangchong 評論0 收藏0

發(fā)表評論

0條評論

feng409

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<