session和cookie
session翻譯過(guò)來(lái)就是會(huì)話,微信分享也用到了這個(gè)單詞。
用戶打開(kāi)一個(gè)瀏覽器, 點(diǎn)擊多個(gè)超鏈接, 訪問(wèn)服務(wù)器多個(gè)web資源, 然后關(guān)閉瀏覽器, 整個(gè)過(guò)程稱之為一個(gè)會(huì)話
HTTP協(xié)議是一種"無(wú)狀態(tài)"協(xié)議,客戶瀏覽器與服務(wù)器建立連接,發(fā)出請(qǐng)求颠猴,得到相應(yīng)聋庵,然后關(guān)閉連接,這意味著每次客戶端檢索網(wǎng)頁(yè)時(shí)芙粱,客戶端打開(kāi)一個(gè)單獨(dú)的連接到 Web 服務(wù)器祭玉,服務(wù)器會(huì)自動(dòng)不保留之前客戶端請(qǐng)求的任何記錄。所以容器不能辨認(rèn)下一個(gè)請(qǐng)求和之前的請(qǐng)求是不是同一個(gè)請(qǐng)求春畔,對(duì)于容器而言脱货,每個(gè)請(qǐng)求都是新的。
使用瀏覽器與服務(wù)器進(jìn)行會(huì)話的過(guò)程中,不可避免會(huì)產(chǎn)生一些數(shù)據(jù), Web服務(wù)器沒(méi)有短期記憶律姨,如何保存這些用戶數(shù)據(jù)振峻?客戶需要一個(gè)唯一的會(huì)話ID
客戶的第一次請(qǐng)求,容器會(huì)生成一個(gè)唯一的會(huì)話ID择份,并通過(guò)響應(yīng)把它發(fā)回客戶端扣孟,客戶在以后的每一個(gè)請(qǐng)求中發(fā)回這個(gè)會(huì)話ID。容器看到后荣赶,就會(huì)找到匹配的會(huì)話凤价,并把這個(gè)會(huì)話與請(qǐng)求關(guān)聯(lián)。
如何交換會(huì)話信息拔创?
保存會(huì)話數(shù)據(jù)的兩種技術(shù): cookie和session
Cookie是客戶端技術(shù)利诺,程序把每個(gè)用戶的數(shù)據(jù)以cookie的形式寫(xiě)給用戶各自的瀏覽器。當(dāng)用戶使用瀏覽器再去訪問(wèn)服務(wù)器中的web資源時(shí)剩燥,就會(huì)帶著各自的數(shù)據(jù)去慢逾。這樣,web資源處理的就是用戶各自的數(shù)據(jù)了灭红。
Session是服務(wù)器端技術(shù)侣滩,利用這個(gè)技術(shù),服務(wù)器在運(yùn)行時(shí)可以為每一個(gè)用戶的瀏覽器創(chuàng)建一個(gè)其獨(dú)享的session對(duì)象变擒,由于session為用戶瀏覽器獨(dú)享君珠,所以用戶在訪問(wèn)服務(wù)器的web資源時(shí),可以把各自的數(shù)據(jù)放在各自的session中赁项,當(dāng)用戶再去訪問(wèn)服務(wù)器中的其它web資源時(shí)葛躏,其它web資源再?gòu)挠脩舾髯缘膕ession中取出數(shù)據(jù)為用戶服務(wù)澈段。
問(wèn)題:瀏覽器禁用Cookie怎么辦悠菜?
答案:URL重寫(xiě)、隱藏表單字段