--個人理解會存在些錯誤僅供參考!!!
----瀏覽器保持會話狀態原理
用戶發送一次請求,服務器端會檢索報文中是否存在sessionid不存在,就分配一個寫到cookie當中,存在
瀏覽器的緩存中,當再次請求時,又被發送到服務器端,檢索有的話,說明是同一客戶端;
---session客戶端原理:
當用戶發出請求后,就會在服務端開辟一塊空間來存儲session對象,瀏覽器通過發送服務端的cookie中的sessionid就能找到唯一標識的session;
session也是用的對象池技術;
---viewstate原理:
有兩個問題:當客戶端提交表單,并封裝成http報文通過socket發給服務端,服務器怎么會知道用戶點擊了哪
個按鈕呢?那文本框的exchanged事件又是怎么觸發的呢? 其實就是添加了hidden隱藏域標記;打開瀏覽器頁面后臺代碼,會看到許多亂碼,而這些亂碼提交給服務器, 就會生成存儲頁面狀態的原始數據;這些數據就告訴服務器客戶端做了哪些事情, exchanged時間,通過比較隱藏域的存儲的值和新狀態的值,就可以知道,值是否發生了變化,是否要觸發 exchanged事件。處理完成后,又會將新的viewstate覆蓋原來的viewstate,重新生成hidden給客戶端,來就行 下一次的提交。
--cookie查看http請求報文中就可以知道cookie會隨報文來回傳遞。后臺通過request可是獲取cookie,通過response設置cookie,當隨響應報文傳輸到客戶端,會加載到瀏覽器的cookie中。這樣cookie就可以承載數據了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
