cookie是什么,如何使用cookie?

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

平時的工作中,我們總聽到別人談到,cookies。聽他們說了之后,我也試著了解了一下,可還是弄不明白它到底用來干啥的,翻了很多資料也不清楚它的深意。今天在這里也寫寫我自己對cookie的了解。

cookie是什么,如何使用cookie?

 

1、Cookie是保存在客戶端的純文本文件。比如txt文件。所謂的客戶端就是我們自己的本地電腦。當我們使用自己的電腦通過瀏覽器進行訪問網(wǎng)頁的時候,服務(wù)器就會生成一個證書并返回給我的瀏覽器并寫入我們的本地電腦。這個證書就是cookie。一般來說cookie都是服務(wù)器端寫入客戶端的純文本文件。下面我們來看一下一般網(wǎng)站寫給我們的cookie 文件如下:

cookie是什么,如何使用cookie?

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

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

cookie 到底是怎么工作的呢?

 

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

cookie是什么,如何使用cookie?

 

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

以賣書網(wǎng)站為例如下:

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

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

cookie是什么,如何使用cookie?

選擇本書進行查看后又生成了cookie 覆蓋了上次的cookie

cookie是什么,如何使用cookie?

選擇購買后

cookie是什么,如何使用cookie?

再買一本后

cookie是什么,如何使用cookie?

過一會后等購物車的數(shù)量刷新后

cookie是什么,如何使用cookie?

每次點一下主窗口cookies一直在變化 如下

cookie是什么,如何使用cookie?

點擊查看購物車后,可以看到有兩本書,并且本地存儲又發(fā)生變化了

cookie是什么,如何使用cookie?

cookie是什么,如何使用cookie?

由此可見,我們的cookies一直是在變化的。當我們關(guān)閉窗口重新訪問依然可以看到購物車里的商品。

cookie是什么,如何使用cookie?

因為上述的演示都是查看的low文件夾下的cookies文件變化。當我們使用ie清除瀏覽器緩存(直接從本地刪除不能起到同樣的效果,我做實驗了,但是不知道為什么。)后,我們再次刷新購物車頁面

cookie是什么,如何使用cookie?

可以看到無任何購物商品了。

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

注意事項:

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

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

本文標題:cookie是什么,如何使用cookie?
當前網(wǎng)址:http://www.bm7419.com/news22/202472.html

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

廣告

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

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