十分鐘了解cookie,成為大神不是夢

2021-10-03 17:55:09 字數 2782 閱讀 8255

一、首先我們了解什麼是http協議和cookie。

傳輸協議:http協議:超文字傳輸協議,傳輸html,網頁,網頁傳輸協議,記不住狀態的協議。

傳輸的規則:雙方要進行資訊的傳輸時,要遵守的規定或約定。大致分為三步:

1、建立連線通道

2、相互通訊

3、關閉通道。

http:安全性不高

https:加密傳輸協議

二、會話跟蹤技術cookie:跟蹤每一次的連線,記錄連線產生的資訊,下次連線,跟著一起傳送過去

cookie會隨著http協議,發往伺服器,其實cookie自身,是一種本地儲存。

2.1 特點:

1.只能存字元,文字;

2.不允許跨域(誰存的,誰用);

3.時效性,缺省會話級,關閉瀏覽器,可以刪除;

4.數量(50左右)和大小(4k)限制。

2.2 金鑰:加密的賬號或密碼

加密(admin123)

md5token:令牌,暗號

2.3 安全問題:cookie中所有的內容,因為都是存在本地的文字,所以都是明文,只要能看到你的本地,就有可能看到你的cookie,所以在專案中千萬不要在cookie中直接存賬號密碼,如果可以避免安全問題,或者是個人電腦就可以存。

2.4 cookie如何使用:

cookie自身是document物件的乙個屬性

使用:document.cookie

2.5 cookie的規則:要設定的cookie

document.cookie = 要設定的cookie

1.必須是字元:""

2.字元內的格式要求:名=值,如:"user=admin"

3.一條**只能設定一條cookie

4.設定cookie時,可以配置資訊要求

有效期:"expires=日期物件"

路徑:"path=/page"

5.cookie的內容和每個配置資訊之間用:";"連線

2.6 設定cookie的語法:

預設cookie

document.cookie = "user=admin";

設定具有有效期的cookie(3天之後)

var d = new date();

d.getdate();獲取當前當月天數

d.setdate(d.getdate() + 3); //獲取指定日期

document.cookie = "abc=123;expires="+d;

設定具有路徑的cookie(3天之後)

document.cookie = "abc=123;path=/page";

設定具有路徑和有效期的cookie(3天之後)

var d = new date();

d.setdate(d.getdate() + 3);

document.cookie = "abc=123;path=/page;expires="+d;

2.7 刪除cookie:通過有效期,讓這個cookie過期,怎麼能過期?當前設定曾經的日期。

查cookie:

var str = document.cookie

2.8 cookie工作場景:

cookie自身其實對工作環境沒有要求,但是cookie會隨著http發往伺服器,使用cookie的時候,是不需要記錄客戶端和伺服器之間的資訊。客戶端是瀏覽器,伺服器是本地伺服器,所以導致,cookie最好也在伺服器環境中使用。

三、cookie的簡單封裝:

function setcookie(key,val,ops)

// //

// // 處理的是為undefined時

ops = ops || {};

// 處理有效期

let e = "";

if(ops.expires)

// 處理路徑

// let p = "";

// if(ops.path)

let p = ops.path ? ";path="+ops.path : "";

document.cookie = `$=$$$`;

}

例如下面這個案例:先建立幾個cookie,儲存後,我們把這幾個cookie注釋掉,看結果:

可以發現我們之前寫的cookie還在,而且重新整理不影響。

function getcookie(key));

function removecookie(key,ops);

// 2.ops是物件了,無論如何得有個expires的屬性為-1

ops.expires = -1;

// 3.將處理好的ops,給setcookie

setcookie(key,"suibianxie,danshibunengshenglue",ops);

}

課間十分鐘

時間限制 1000 ms 記憶體限制 128 mb 兩人都是數學愛好者,便發明了乙個遊戲。在遊戲開始前,他們先約定乙個正整數n,同時令m 1。遊戲過程中,每個人都可以將m的值擴大2到9中的任意倍數。第乙個使m n的人就是最後的贏家。181818181818和zbt都十分聰明,並且遊戲過程中都使用最佳...

十分鐘的代價

2008年9月15日上午10 00,擁有158年歷史的美國第四大投資銀行 雷曼兄弟公司向法院申請破產保護,訊息轉瞬間通過電視 廣播和網路傳遍地球的各個角落。令人匪夷所思的是,在如此重大的情況下,德國國家發展銀行在十分鐘後,居然按照外匯掉期協議的交易,通過計算機自動付款系統,向雷曼兄弟公司即將凍結的銀...

十分鐘的悲劇

2008年9 月15日上午 10 00 擁有158 年歷史的美國第四大投資銀行 雷曼兄弟公司向法院申請破產保護,訊息轉瞬間通過電視 廣播和網路傳遍地球的各個角落。令人匪夷所思的是,在如此明朗的情況下,德國國家發展銀行 10 10 居然按照外匯掉期協議的交易,通過計算機自動付款系統,向雷曼兄弟公司即將...