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

資訊專欄INFORMATION COLUMN

瀏覽器多個標簽頁之間的通信之cookie篇

feng409 / 785人閱讀

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

如何解決瀏覽器多個標簽頁之間的通信?

使用cookie

使用web worker

使用localeStorage和sessionStorage

cookie

概念

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

cookie的存放形式

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

cookie保存位置

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

cookie的功能

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

cookie的工作原理

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

服務(wù)器在響應報文中生成一個Set-Cookie報頭,發(fā)給客戶端

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

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

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

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

圖解基本的cookie知識點

cookie 是有大小限制的

每一個cookie都是合法格式的名值對

cookie是有有效期的(Expires)

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

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

cookie的兩種形式

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

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

js操作cookie

獲取cookie

console.log(document.cookie)

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

對cookie進行存/改

document.cookie="key=value"

//key存在就修改為value,不存在就創(chuà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();//生成當天一個時間

    exdate.setDate(exdate.getDate() + expiredays);//獲取當天時間的天數(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è)置有效時間過期)

//刪除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的路徑訪問原則

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

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

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

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

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

如何跨域這個障礙呢?

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

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

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

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


 > cookie的域

引出這個話題是因為,設(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è)置讀取時候記得處理編碼問題

        

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

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

相關(guān)文章

  • 前端面試題1(HTML

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

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

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

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

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

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

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

    sf_wangchong 評論0 收藏0

發(fā)表評論

0條評論

feng409

|高級講師

TA的文章

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