2022-10-06 分類: 網站建設
平時的工作中,我們總聽到別人談到,cookies。聽他們說了之后,我也試著了解了一下,可還是弄不明白它到底用來干啥的,翻了很多資料也不清楚它的深意。今天在這里也寫寫我自己對cookie的了解。
cookie是什么,如何使用cookie?
1、Cookie是保存在客戶端的純文本文件。比如txt文件。所謂的客戶端就是我們自己的本地電腦。當我們使用自己的電腦通過瀏覽器進行訪問網頁的時候,服務器就會生成一個證書并返回給我的瀏覽器并寫入我們的本地電腦。這個證書就是cookie。一般來說cookie都是服務器端寫入客戶端的純文本文件。下面我們來看一下一般網站寫給我們的cookie 文件如下:
2、Cookie 文件必須由瀏覽器的支持,在瀏覽器中可以設置阻止cookie。這樣服務器端就不能寫入cookie 到客戶端了。目前,大多數瀏覽器都支持cookie。如谷歌、IE、火狐等。一般來說cookie都不能阻止,因為,有時訪問網站時必須使用cookie。否則網站將不能被訪問。
3、那么,難題來了,我們用這個東西到底干什么用呢?舉個例子,比如我們到網站上買東西,我打開買鞋的網頁,這時候我發了請求,告訴服務器,你給我返回一些鞋的信息和列表,這時候客戶端和服務器端的連接就斷開了。用戶再次去訪問,將某雙鞋加入到了購物車后連接又斷開了。這時用戶又想買條褲子,用戶將褲子也加入了購物車,此時連接又斷開了。到這時,用戶又再次發請求說,我要結賬了,然后用戶打開一個新的結賬界面,現在問題來了,這個用戶剛剛加入的購物車的東西服務器是怎么知道的呢?服務器是怎么知道是這個用戶買的東西呢?那么現在就用到了cookie 了。在seesion出現之前,一般網站都是通過cookie保存請求的內容,服務器根據用戶進行特定的內容展示。也就是說如果不使用cookie,我們將不能在瀏覽器中看到購物車的東西這就類似于瀏覽器的收藏夾,如果我們收藏了,下次我們再打開瀏覽器窗口就會看到我們收藏的東西。也就是說cookie保存了一個前后的狀態,如果不用cookie我就不知道我是否已經加入購物車了。那為什么會出現這種情況呢?歸根結底,就是因為http的無連接性。
cookie 到底是怎么工作的呢?
首先當我們訪問某個網站時,服務器首先根據瀏覽器的編號生成一個cookie 返回給客戶端。客戶端下次再訪問時就會將自己本地的cookie 加上url訪問地址一同給服務器。服務器讀出來以此來辨別用戶的狀態。那么下面我們來畫一個圖來說明一下:
有時候,我們在買東西的時候加入購物車的內容不想保存到數據庫中,而是直接保存到cookie中。用戶訪問查詢購物車時只要cookie沒有失效就可以從本地查詢,不需要訪問數據庫,這樣加快了查詢速度并且保存了用戶的狀態。在這里說明一下,cookie包含兩種類型,一種是保存在內存中的cookie。這種一般是服務端沒有設置生存周期,也就是maxage為負數或者0 。這種cookie只在當前會話中有效,關掉瀏覽器窗口后cookie就立即失效。還有一種是保存在本地客戶端的cookie,這種一般是服務器設置了cookie的生存周期maxage為正數,不管你關掉窗口還是重新打開瀏覽器,還是重啟機器,只要cookie不失效,那么訪問此網站時,瀏覽器就會找對應的webapplication的cookies(自己寫入的)。存儲在本地文件的cookie可以被多個ie瀏覽器窗口共享,意思就是說,如果我打開一個新的瀏覽器窗口,輸入網頁地址,我們只能看到本地文件的cookie,而上一個窗口中的內存中的cookie不能再新窗口中看到。如果我們在父窗口打開一個子窗口,子窗口會繼承父窗口的所有類型的cookie。當然如果你將本地cookies刪除,那么購物車就不會查到了。下面我用ie瀏覽器給大家做個演示。
以賣書網站為例如下:
首先清除本地cookies。iE瀏覽器的cookie在C:\Documents and Settings\用戶名\Cookies下。需要注意的是Documents and Settings是隱藏文件,如果要訪問首先查看我的文章“系統無法訪問文件夾拒絕訪問的解決方式”,在這里我們先查看cookies/low/的cookies文件。清除之后我們來訪問網站:
訪問網站后在本地生成了如下cookies 2個
選擇本書進行查看后又生成了cookie 覆蓋了上次的cookie
選擇購買后
再買一本后
過一會后等購物車的數量刷新后
每次點一下主窗口cookies一直在變化 如下
點擊查看購物車后,可以看到有兩本書,并且本地存儲又發生變化了
由此可見,我們的cookies一直是在變化的。當我們關閉窗口重新訪問依然可以看到購物車里的商品。
因為上述的演示都是查看的low文件夾下的cookies文件變化。當我們使用ie清除瀏覽器緩存(直接從本地刪除不能起到同樣的效果,我做實驗了,但是不知道為什么。)后,我們再次刷新購物車頁面
可以看到無任何購物商品了。
此外,cookie文件也可以用來存放用戶的登錄信息。只有第一次登錄的時候訪問數據庫,只要設置了過期時間,下次再登錄后直接讀取cookie存儲的登錄信息,即可達到不登錄就可以訪問網頁的效果。綜上講述了cookie的文件的實時變換情況,到目前為止,我們對cookie應該有個大致的了解了。我將要寫一篇關于session的文章,也希望我們共同進步。谷歌瀏覽器的查看cookie情況,請查看我的文章“谷歌瀏覽器如何查看cookies”
注意事項:
1、注意區分cookie和session的區別
2、cookie保存到客戶端,session保存到服務器端
本文標題:cookie是什么,如何使用cookie?
當前網址:http://m.newbst.com/news22/202472.html
成都網站建設公司_創新互聯,為您提供ChatGPT、企業建站、網站營銷、全網營銷推廣、品牌網站建設、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容