我們知道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
好了會建立了也會獲得了 那咱下面就分析一下原理
大家想下伺服器是通過什麼傳輸資料的?socket沒錯,前面的文章不是通過socket實現過乙個簡單的web伺服器嗎 嘿嘿 ,然後socket只是傳輸層的東東,那它
如果把資料傳送到客戶端瀏覽器的呢,在者說瀏覽器是通過什麼把資料(請求)傳送給伺服器的呢? 是不是通過報文啊 客戶端通過請求報文想服務端傳送請求,然
後呢伺服器接受到客戶端的請求,又通過響應報文將服務端的資料傳送給伺服器。那麼今天的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);
狀態保持 Cookie解釋以及原理分析
狀態保持 cookie解釋以及原理分析 我們知道web 在客戶端儲存資料有三種形式 1.cookie 2.hidden 隱藏域 3.querystring 其中viewstate什麼的都是通過第二種方式隱藏域儲存滴。好了今天的主角是cookie 小甜餅 先看下cookie存在哪吧!首先,開啟執行對話...
cookie 和session的原理以及異同
一 區別 1.儲存位置不同 cookie資料存放在客戶的瀏覽器中,session資料存在伺服器當中。2.安全程度不同 cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session。3.資料儲存大小不同 cookie的儲存不能超過4k,而sess...
jmp用法以及原理分析
段內轉移和段間轉移 轉移指令 控制cpu執行記憶體中的某行 可以通過修改ip或者同時修改cs ip 只修改ip的稱為段內轉移 jmp ax 相當於 mov ax,ip jmp ax 同時修改cs ip的叫段間轉移 jmp 1000 0 這是debug語法,只能在debug中使用 段內轉移分為短轉移和...