cookie是什么,如何使用cookie?

2022-10-06    分類(lèi): 網(wǎng)站建設(shè)

平時(shí)的工作中,我們總聽(tīng)到別人談到,cookies。聽(tīng)他們說(shuō)了之后,我也試著了解了一下,可還是弄不明白它到底用來(lái)干啥的,翻了很多資料也不清楚它的深意。今天在這里也寫(xiě)寫(xiě)我自己對(duì)cookie的了解。

cookie是什么,如何使用cookie?

 

1、Cookie是保存在客戶端的純文本文件。比如txt文件。所謂的客戶端就是我們自己的本地電腦。當(dāng)我們使用自己的電腦通過(guò)瀏覽器進(jìn)行訪問(wèn)網(wǎng)頁(yè)的時(shí)候,服務(wù)器就會(huì)生成一個(gè)證書(shū)并返回給我的瀏覽器并寫(xiě)入我們的本地電腦。這個(gè)證書(shū)就是cookie。一般來(lái)說(shuō)cookie都是服務(wù)器端寫(xiě)入客戶端的純文本文件。下面我們來(lái)看一下一般網(wǎng)站寫(xiě)給我們的cookie 文件如下:

cookie是什么,如何使用cookie?

2、Cookie 文件必須由瀏覽器的支持,在瀏覽器中可以設(shè)置阻止cookie。這樣服務(wù)器端就不能寫(xiě)入cookie 到客戶端了。目前,大多數(shù)瀏覽器都支持cookie。如谷歌、IE、火狐等。一般來(lái)說(shuō)cookie都不能阻止,因?yàn)?,有時(shí)訪問(wèn)網(wǎng)站時(shí)必須使用cookie。否則網(wǎng)站將不能被訪問(wèn)。

3、那么,難題來(lái)了,我們用這個(gè)東西到底干什么用呢?舉個(gè)例子,比如我們到網(wǎng)站上買(mǎi)東西,我打開(kāi)買(mǎi)鞋的網(wǎng)頁(yè),這時(shí)候我發(fā)了請(qǐng)求,告訴服務(wù)器,你給我返回一些鞋的信息和列表,這時(shí)候客戶端和服務(wù)器端的連接就斷開(kāi)了。用戶再次去訪問(wèn),將某雙鞋加入到了購(gòu)物車(chē)后連接又?jǐn)嚅_(kāi)了。這時(shí)用戶又想買(mǎi)條褲子,用戶將褲子也加入了購(gòu)物車(chē),此時(shí)連接又?jǐn)嚅_(kāi)了。到這時(shí),用戶又再次發(fā)請(qǐng)求說(shuō),我要結(jié)賬了,然后用戶打開(kāi)一個(gè)新的結(jié)賬界面,現(xiàn)在問(wèn)題來(lái)了,這個(gè)用戶剛剛加入的購(gòu)物車(chē)的東西服務(wù)器是怎么知道的呢?服務(wù)器是怎么知道是這個(gè)用戶買(mǎi)的東西呢?那么現(xiàn)在就用到了cookie 了。在seesion出現(xiàn)之前,一般網(wǎng)站都是通過(guò)cookie保存請(qǐng)求的內(nèi)容,服務(wù)器根據(jù)用戶進(jìn)行特定的內(nèi)容展示。也就是說(shuō)如果不使用cookie,我們將不能在瀏覽器中看到購(gòu)物車(chē)的東西這就類(lèi)似于瀏覽器的收藏夾,如果我們收藏了,下次我們?cè)俅蜷_(kāi)瀏覽器窗口就會(huì)看到我們收藏的東西。也就是說(shuō)cookie保存了一個(gè)前后的狀態(tài),如果不用cookie我就不知道我是否已經(jīng)加入購(gòu)物車(chē)了。那為什么會(huì)出現(xiàn)這種情況呢?歸根結(jié)底,就是因?yàn)閔ttp的無(wú)連接性。

cookie 到底是怎么工作的呢?

 

首先當(dāng)我們?cè)L問(wèn)某個(gè)網(wǎng)站時(shí),服務(wù)器首先根據(jù)瀏覽器的編號(hào)生成一個(gè)cookie 返回給客戶端??蛻舳讼麓卧僭L問(wèn)時(shí)就會(huì)將自己本地的cookie 加上url訪問(wèn)地址一同給服務(wù)器。服務(wù)器讀出來(lái)以此來(lái)辨別用戶的狀態(tài)。那么下面我們來(lái)畫(huà)一個(gè)圖來(lái)說(shuō)明一下:

cookie是什么,如何使用cookie?

 

有時(shí)候,我們?cè)谫I(mǎi)東西的時(shí)候加入購(gòu)物車(chē)的內(nèi)容不想保存到數(shù)據(jù)庫(kù)中,而是直接保存到cookie中。用戶訪問(wèn)查詢購(gòu)物車(chē)時(shí)只要cookie沒(méi)有失效就可以從本地查詢,不需要訪問(wèn)數(shù)據(jù)庫(kù),這樣加快了查詢速度并且保存了用戶的狀態(tài)。在這里說(shuō)明一下,cookie包含兩種類(lèi)型,一種是保存在內(nèi)存中的cookie。這種一般是服務(wù)端沒(méi)有設(shè)置生存周期,也就是maxage為負(fù)數(shù)或者0 。這種cookie只在當(dāng)前會(huì)話中有效,關(guān)掉瀏覽器窗口后cookie就立即失效。還有一種是保存在本地客戶端的cookie,這種一般是服務(wù)器設(shè)置了cookie的生存周期maxage為正數(shù),不管你關(guān)掉窗口還是重新打開(kāi)瀏覽器,還是重啟機(jī)器,只要cookie不失效,那么訪問(wèn)此網(wǎng)站時(shí),瀏覽器就會(huì)找對(duì)應(yīng)的webapplication的cookies(自己寫(xiě)入的)。存儲(chǔ)在本地文件的cookie可以被多個(gè)ie瀏覽器窗口共享,意思就是說(shuō),如果我打開(kāi)一個(gè)新的瀏覽器窗口,輸入網(wǎng)頁(yè)地址,我們只能看到本地文件的cookie,而上一個(gè)窗口中的內(nèi)存中的cookie不能再新窗口中看到。如果我們?cè)诟复翱诖蜷_(kāi)一個(gè)子窗口,子窗口會(huì)繼承父窗口的所有類(lèi)型的cookie。當(dāng)然如果你將本地cookies刪除,那么購(gòu)物車(chē)就不會(huì)查到了。下面我用ie瀏覽器給大家做個(gè)演示。

以賣(mài)書(shū)網(wǎng)站為例如下:

首先清除本地cookies。iE瀏覽器的cookie在C:\Documents and Settings\用戶名\Cookies下。需要注意的是Documents and Settings是隱藏文件,如果要訪問(wèn)首先查看我的文章“系統(tǒng)無(wú)法訪問(wèn)文件夾拒絕訪問(wèn)的解決方式”,在這里我們先查看cookies/low/的cookies文件。清除之后我們來(lái)訪問(wèn)網(wǎng)站:

訪問(wèn)網(wǎng)站后在本地生成了如下cookies 2個(gè)

cookie是什么,如何使用cookie?

選擇本書(shū)進(jìn)行查看后又生成了cookie 覆蓋了上次的cookie

cookie是什么,如何使用cookie?

選擇購(gòu)買(mǎi)后

cookie是什么,如何使用cookie?

再買(mǎi)一本后

cookie是什么,如何使用cookie?

過(guò)一會(huì)后等購(gòu)物車(chē)的數(shù)量刷新后

cookie是什么,如何使用cookie?

每次點(diǎn)一下主窗口cookies一直在變化 如下

cookie是什么,如何使用cookie?

點(diǎn)擊查看購(gòu)物車(chē)后,可以看到有兩本書(shū),并且本地存儲(chǔ)又發(fā)生變化了

cookie是什么,如何使用cookie?

cookie是什么,如何使用cookie?

由此可見(jiàn),我們的cookies一直是在變化的。當(dāng)我們關(guān)閉窗口重新訪問(wèn)依然可以看到購(gòu)物車(chē)?yán)锏纳唐贰?/p>

cookie是什么,如何使用cookie?

因?yàn)樯鲜龅难菔径际遣榭吹膌ow文件夾下的cookies文件變化。當(dāng)我們使用ie清除瀏覽器緩存(直接從本地刪除不能起到同樣的效果,我做實(shí)驗(yàn)了,但是不知道為什么。)后,我們?cè)俅嗡⑿沦?gòu)物車(chē)頁(yè)面

cookie是什么,如何使用cookie?

可以看到無(wú)任何購(gòu)物商品了。

此外,cookie文件也可以用來(lái)存放用戶的登錄信息。只有第一次登錄的時(shí)候訪問(wèn)數(shù)據(jù)庫(kù),只要設(shè)置了過(guò)期時(shí)間,下次再登錄后直接讀取cookie存儲(chǔ)的登錄信息,即可達(dá)到不登錄就可以訪問(wèn)網(wǎng)頁(yè)的效果。綜上講述了cookie的文件的實(shí)時(shí)變換情況,到目前為止,我們對(duì)cookie應(yīng)該有個(gè)大致的了解了。我將要寫(xiě)一篇關(guān)于session的文章,也希望我們共同進(jìn)步。谷歌瀏覽器的查看cookie情況,請(qǐng)查看我的文章“谷歌瀏覽器如何查看cookies”

注意事項(xiàng):

1、注意區(qū)分cookie和session的區(qū)別

2、cookie保存到客戶端,session保存到服務(wù)器端

本文標(biāo)題:cookie是什么,如何使用cookie?
當(dāng)前網(wǎng)址:http://www.muchs.cn/news22/202472.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、企業(yè)建站、網(wǎng)站營(yíng)銷(xiāo)、全網(wǎng)營(yíng)銷(xiāo)推廣、品牌網(wǎng)站建設(shè)、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)