1、cookie的作用:
我們在瀏覽器中赖欣,經(jīng)常涉及到數(shù)據(jù)的交換屑彻,比如你登錄郵箱,登錄一個(gè)頁面顶吮。我們經(jīng)常會(huì)在此時(shí)設(shè)置30天內(nèi)記住我社牲,或者自動(dòng)登錄選項(xiàng)。那么它們是怎么記錄信息的呢悴了,答案就是今天的主角cookie了搏恤, **Cookie是由HTTP服務(wù)器設(shè)置的,保存在瀏覽器中湃交,但
HTTP協(xié)議是一種無狀態(tài)協(xié)議熟空,在數(shù)據(jù)交換完畢后,服務(wù)器端和客戶端的鏈接就會(huì)關(guān)閉搞莺,每次交換數(shù)據(jù)都需要建立新的鏈接息罗。
就像我們?nèi)コ匈I東西,沒有積分卡的情況下腮敌,我們買完東西之后阱当,超市沒有我們的任何消費(fèi)信息,但我們辦了積分卡之后糜工,超市就有了我們的消費(fèi)信息弊添。cookie就像是積分卡,可以保存積分捌木,商品就是我們的信息油坝,超市的系統(tǒng)就像服務(wù)器后臺(tái),http協(xié)議就是交易的過程刨裆。**
2澈圈、機(jī)制的區(qū)別:
session機(jī)制采用的是在服務(wù)器端保持狀態(tài)的方案,而cookie機(jī)制則是在客戶端保持狀態(tài)的方案帆啃,cookie又叫會(huì)話跟蹤機(jī)制瞬女。打開一次瀏覽器到關(guān)閉瀏覽器算是一次會(huì)話。說到這里努潘,講下HTTP協(xié)議诽偷,前面提到坤学,HTTP協(xié)議是一種無狀態(tài)協(xié)議,在數(shù)據(jù)交換完畢后报慕,服務(wù)器端和客戶端的鏈接就會(huì)關(guān)閉深浮,每次交換數(shù)據(jù)都需要建立新的鏈接。此時(shí)眠冈,服務(wù)器無法從鏈接上跟蹤會(huì)話飞苇。cookie可以跟蹤會(huì)話,彌補(bǔ)HTTP無狀態(tài)協(xié)議的不足蜗顽。
3布卡、cookie的分類:
cookie分為會(huì)話cookie和持久cookie,會(huì)話cookie是指在不設(shè)定它的生命周期expires時(shí)的狀態(tài)诫舅,前面說了羽利,瀏覽器的開啟到關(guān)閉就是一次會(huì)話,當(dāng)關(guān)閉瀏覽器時(shí)刊懈,會(huì)話cookie就會(huì)跟隨瀏覽器而銷毀这弧。當(dāng)關(guān)閉一個(gè)頁面時(shí),不影響會(huì)話cookie的銷毀虚汛。會(huì)話cookie就像我們沒有辦理積分卡時(shí)匾浪,單一的買賣過程,離開之后卷哩,信息則銷毀蛋辈。
持久cookie則是設(shè)定了它的生命周期expires,此時(shí)将谊,cookie像商品一樣冷溶,有個(gè)保質(zhì)期,關(guān)閉瀏覽器之后尊浓,它不會(huì)銷毀逞频,直到設(shè)定的過期時(shí)間。對于持久cookie栋齿,可以在同一個(gè)瀏覽器中傳遞數(shù)據(jù)苗胀,比如,你在打開一個(gè)淘寶頁面登陸后瓦堵,你在點(diǎn)開一個(gè)商品頁面基协,依然是登錄狀態(tài),即便你關(guān)閉了瀏覽器菇用,再次開啟瀏覽器澜驮,依然會(huì)是登錄狀態(tài)。這就是因?yàn)閏ookie自動(dòng)將數(shù)據(jù)傳送到服務(wù)器端惋鸥,在反饋回來的結(jié)果泉唁。持久cookie就像是我們辦理了一張積分卡鹅龄,即便離開,信息一直保留亭畜,直到時(shí)間到期,信息銷毀迎卤。