簡介:
在計算機通信網(wǎng)絡(luò)中,網(wǎng)絡(luò)協(xié)議是必不可少的。其中,超文本傳輸協(xié)議(HTTP)是一種允許超文本標記語言(HTML)文檔從網(wǎng)絡(luò)服務(wù)器傳輸?shù)娇蛻舳藶g覽器的通信協(xié)議。
但是,HTTP協(xié)議是無狀態(tài)的。一旦數(shù)據(jù)交換完成,客戶端和服務(wù)器之間的連接將被關(guān)閉,需要建立新的連接來再次交換數(shù)據(jù)。這意味著服務(wù)器無法跟蹤用戶通過連接登錄網(wǎng)站后的一系列動作。這一系列動作被稱為對話,比如瀏覽商品并添加到購物車中購買。
會話跟蹤是Web程序中常見的技術(shù),用于跟蹤用戶的整個會話。常用的會話跟蹤技術(shù)是Cookie和會話。在這個博客中,我們來看看這兩種技術(shù)的區(qū)別。
Cookie:
Cookie實際上是一小段文本信息。當客戶端請求服務(wù)器時,如果服務(wù)器需要記錄用戶的狀態(tài),比如用戶信息,它使用響應(yīng)對象向客戶端瀏覽器發(fā)出一個Cookie。客戶端將保存Cookie。當瀏覽器再次請求網(wǎng)站時,瀏覽器將所請求的網(wǎng)站地址和Cookie一起提交給服務(wù)器。服務(wù)器檢查Cookie以識別用戶狀態(tài)。工作原理如下:
1.客戶端首次向服務(wù)器發(fā)起請求
2.服務(wù)器準備一個cookie,并設(shè)置要緩存在cookie中的內(nèi)容
3.服務(wù)器將請求響應(yīng)結(jié)果與cookie一起反饋給客戶端
4.客戶端處理請求響應(yīng)并讀取cookie
5.客戶端再次向服務(wù)器發(fā)送請求
6.服務(wù)器檢查傳輸?shù)腸ookie,識別狀態(tài),并返回響應(yīng)結(jié)果
會話:
會話是記錄客戶狀態(tài)的另一種機制。不同之處在于,Cookie保存在客戶端瀏覽器中,而會話保存在服務(wù)器上。
當客戶端瀏覽器訪問服務(wù)器時,服務(wù)器以某種形式將客戶端信息記錄在服務(wù)器上。當客戶端瀏覽器再次訪問時,它只需要從會話中查找客戶端的狀態(tài)。
每個用戶都訪問服務(wù)器來建立會話,那么服務(wù)器如何識別用戶的唯一身份呢?事實上,當用戶與服務(wù)器建立連接時,服務(wù)器會自動為其分配會話Id。工作原理如下:
1.客戶端首次向服務(wù)器發(fā)起請求
2.服務(wù)器創(chuàng)建一個新的會話,生成一個sessionid,并將請求的信息放入會話
3.服務(wù)器將生成的sessionid放入cookie中,并將其與響應(yīng)一起返回給客戶端瀏覽器
4.客戶端再次訪問網(wǎng)頁,并將瀏覽器中存儲的會話id發(fā)送給服務(wù)器
將sessionid與所有會話進行比較,找到相應(yīng)的sessionid,并取出內(nèi)容
Cookie和會話之間的區(qū)別:
結(jié)合Cookie和Session的工作原理,很容易看出Cookie和Session的區(qū)別。
1.cookie數(shù)據(jù)存儲在客戶端的瀏覽器中,會話數(shù)據(jù)存儲在服務(wù)器上。
2.Cookies不是很安全。其他人可以分析存儲在本地的cookie并欺騙cookie??紤]到安全性,應(yīng)該使用會話。
3.會話將在服務(wù)器上保存一段時間。當訪問次數(shù)增加時,會占用服務(wù)器的性能。cookie應(yīng)該用來降低服務(wù)器的性能。
4.單個cookie保存的數(shù)據(jù)不能超過4K,許多瀏覽器限制一個站點最多保存20個cookie。
5.登錄信息等重要信息可以存儲為會話,其他信息如果需要保留的話可以存儲在cookie中。
1.《session和cookie的區(qū)別 Cookie與Session的區(qū)別》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《session和cookie的區(qū)別 Cookie與Session的區(qū)別》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/caijing/969763.html