【狀態保持】cookie解釋以及原理分析
我們知道web**在客戶端儲存資料有三種形式:1. cookie 2. hidden(隱藏域) 3.querystring 其中viewstate什麼的都是通過第二種方式隱藏域儲存滴。
好了今天的主角是cookie(小甜餅)先看下cookie存在哪吧!首先,開啟執行對話方塊輸入cookies會開啟乙個資料夾沒錯這就是儲存cookies的地方(宣告:這裡只是儲存的ie瀏覽器的cookies,什麼谷歌、火狐什麼的存在他們所對應瀏覽器的安裝目錄中)。
先看一下怎麼新建乙個cookie吧!
第一行:建立乙個httpcookie物件,然後建構函式 給個cookie名稱
第二行:給這個cookie賦值---->因為cookie是以鍵值對儲存的 ex:username = 「admin」
第三行:設定此cookie的失效時間,此值是乙個具體的失效時間datetime型別 上面是設定兩個小時後失效
第四行:將cookie寫到cookie中,即寫在響應報文頭中一會分析原理的時候會講到。
行設定了cookice了那我怎麼讀它呢?廢話少說上**
request.cookies["呵呵,是不是很簡單,就是在請求中有個cookices集合然後通過索引的方式訪問他---->把它比較成request.form["....."] 這句是不是經常使。username
"].value
好了會建立了也會獲得了 那咱下面就分析一下原理
如果把資料傳送到客戶端瀏覽器的呢,在者說瀏覽器是通過什麼把資料(請求)傳送給伺服器的呢? 是不是通過報文啊 客戶端通過請求報文想服務端傳送請求,然
後呢伺服器接受到客戶端的請求,又通過響應報文將服務端的資料傳送給伺服器。那麼今天的cookice就是通過報文傳輸的 下面通過圖繼續講解
設定cookie 將服務端設定的cookice 傳給客戶端瀏覽器,其中還包括了失效時間
從圖中可以看出服務端設定cookice是通過響應報文頭將cookice傳輸給瀏覽器滴,然後客戶端呢 客戶端是通過請求報文頭將cookice傳輸給服務端滴
注意:1. 因為cookice是儲存在客戶端的資料,如果有敏感的資料必須在服務端加密後然後在儲存
2. cookice在客戶端有兩種儲存形式:(1)儲存在硬碟上(設定了cookice的失效時間的情況下) (2)儲存在記憶體中(在沒有設定cookice的失效時間的情況下)
3. 如果服務端的cookice和客戶端已有的cookice重名則會覆蓋原有的cookice
4. 如果要想清除某個cookice的話可是設定它的失效時間小於當前的日期即可cookie.expires = datetime.now.adddays(-1);
網際網路產品永遠是beta版,沒有做不到的只有想不到的。
李亮和大家共同學習共同進步,如有什麼疑問或博文有什麼錯誤知識,請您斧正。
分類:
.net
標籤:
.net,
狀態保持,
cookice
好文要頂
關注我收藏該文
wlitsoft · 李亮
關注 - 13
粉絲 - 80
+加關注 7 0
使用httplistener實現簡單web伺服器
【狀態保持】cookice解析以及原理分析【續】
2012-04-26 22:11
wlitsoft · 李亮 閱讀(
2) 編輯收藏
#1樓
| 2012-04-27 16:21?1
dasds
?1
反覆難
? 1
大大松
支援(0)
反對(0)
#2樓3251221
2015/8/21 0:10:41
| 2015-08-21 00:10
還有這種形式的吧 ? 1
2
cookie c =
new
cookie(string name,string value);
response.addcookie(c);
狀態保持之cookie介紹
應用 的廣告推送,經常遇到訪問某個 時,會彈出小視窗,展示我們曾經在購物 上看過的商品資訊。購物車,使用者可能會在一段時間內在同一家 的不同頁面中選擇不同的商品,這些資訊都會寫入cookie,以便在最後付款時提取資訊。提示 當瀏覽器請求某 時,會將本 下所有cookie資訊提交給伺服器,所以在req...
Cookie解釋以及原理分析
我們知道web 在客戶端儲存資料有三種形式 1.cookie 2.hidden 隱藏域 3.querystring 其中viewstate什麼的都是通過第二種方式隱藏域儲存滴。好了今天的主角是cookie 小甜餅 先看下cookie存在哪吧!首先,開啟執行對話方塊輸入cookies會開啟乙個資料夾沒...
cookie和session實現狀態保持的區別
web應用程式使用http協議作為傳輸資料的標準協議,而http協議是無狀態協議,即一次請求對應一次響應,響應結束後連線即斷開,同乙個使用者的不同請求對於伺服器端來講並不會認為這兩個請求有什麼關聯性,並不會以此區分不同的客戶端。但實際情況中還是需要伺服器端能夠區分不同的客戶端以及記錄與客戶端相關的一...