新聞中心
今天就跟大家聊聊有關怎樣解析Cookie和Session,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設服務10余年為成都戶外休閑椅小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營銷網(wǎng)站建設商城網(wǎng)站建設手機網(wǎng)站建設小程序網(wǎng)站建設網(wǎng)站改版,從內(nèi)容策劃、視覺設計、底層架構、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設服務。
1.Cookie概念
當用戶使用瀏覽器首次訪問一個支持Cookie的網(wǎng)站的時候,用戶會提供包括用戶名在內(nèi)的個人信息發(fā)送到服務器;
接著服務器端接收到客戶端發(fā)送過來的http請求后,會發(fā)送一個http響應到客戶端,其中包含Set-Cookie頭部,自此,客戶端再向服務器發(fā)送請求的時候,都會把相應的Cookie再次發(fā)回至服務器,服務器在接收到來自客戶端瀏覽器的請求之后,就能夠通過分析存放于請求頭的Cookie得到客戶端特有的信息,從而動態(tài)生成與該客戶端相對應的內(nèi)容;
在客戶端的第二次請求中包含的Cookie頭部中,提供給了服務器端可以用來唯一標識客戶端身份的信息。這時,服務器端也就可以判斷客戶端是否啟用了cookies
在客戶端的第二次請求中包含的Cookie頭部中,提供給了服務器端可以用來唯一標識客戶端身份的信息。這時,服務器端也就可以判斷客戶端是否啟用了cookies,查看瀏覽器中的Cookie信息
2.為什么要使用Cookie
Web應用程序是使用HTTP協(xié)議傳輸數(shù)據(jù)的,但是HTTP協(xié)議是無狀態(tài)的協(xié)議,也就是說一旦數(shù)據(jù)交換完畢,客戶端與服務器端的連接就會關閉,再次交換數(shù)據(jù)需要建立新的連接;
這就意味著服務器無法從連接上跟蹤會話,如果想要蹤該會話,必須引入一種機制,Cookie就是這樣的一種機制,它可以彌補HTTP協(xié)議無狀態(tài)的不足,在Session出現(xiàn)之前基本上所有的網(wǎng)站都采用Cookie來跟蹤會話;
3.Cookie管理機制
Cookie具有不可跨域名性,根據(jù)Cookie規(guī)范,瀏覽器訪問一個域名時只會攜帶此域名的Cookie,而不會攜帶其他域名的Cookie;
Cookie在客戶端是由瀏覽器來管理的,瀏覽器能夠保證域名不跨域,從而保證用戶的隱私安全,瀏覽器判斷一個網(wǎng)站是否能操作另一個網(wǎng)站Cookie的依據(jù)是域名;
讓瀏覽器禁用Cookie,這樣當再次訪問登錄過的網(wǎng)頁時需要重新登錄,
4.Cookie的屬性介紹
name
:名稱,Cookie一旦創(chuàng)建,名稱便不可更改;value
:值,如果值為Unicode字符,需要為字符編碼maxAge
:Cookie失效的時間,單位秒,默認為-1。如果為正數(shù)則該Cookie在在超過maxAge秒之后失效。如果為負數(shù)則Cookie為臨時Cookie,關閉瀏覽器即失效,瀏覽器也不會以任何形式保存該Cookie。如果為0,表示刪除該Cookie。secure
:Cookie是否僅被使用安全協(xié)議(HTTPS,SSL等)傳輸;path
:Cookie的使用路徑,如果設置為“/sessionWeb/”,則只有contextPath為“/sessionWeb”的程序可以訪問該Cookie。如果設置為“/”,則本域名下contextPath都可以訪問該Cookie。注意最后一個字符必須為“/”;String domain
:可以訪問該Cookie的域名,如果設置為“.9xkd.com”,則所有以“9xkd.com”結尾的域名都可以訪問該Cookie。注意第一個字符必須為“.”;
5.Session概念
Session是服務器端使用的一種記錄客戶端狀態(tài)的機制,使用上比Cookie簡單一些,相應的也增加了服務器的存儲壓力;
Session技術則是服務端的解決方案,它是通過服務器來保持狀態(tài)的,我們通常都會把Session翻譯成會話,因此我們可以把客戶端瀏覽器與服務器之間一系列交互的動作稱為一個 Session;
6.使用Session
第一步是創(chuàng)建Session,Session是在服務器端程序運行的過程中創(chuàng)建的,不同語言實現(xiàn)的應用程序有不同創(chuàng)建Session的方法,在創(chuàng)建了Session的同時,服務器會為該Session生成唯一的Session id,而這個Session id在隨后的請求中會被用來重新獲得已經(jīng)創(chuàng)建的Session;
然后可以調(diào)用Session相關的方法往Session中增加內(nèi)容,這些內(nèi)容只會保存在服務器中,發(fā)到客戶端的只有Session id;
當客戶端再次發(fā)送請求的時候,會將這個Session id帶上,服務器接受到請求之后就會依據(jù)Session id找到相應的Session,從而再次使用,這樣用戶的狀態(tài)也就得以保持了;
7.Cookie與Session的區(qū)別
cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)存放在服務器上;
cookie沒有Session安全,別人可以分析存放在本地的Cookie并進行Cookie欺騙,考慮到安全應當使用session;
session會在一定時間內(nèi)保存在服務器上,當訪問增多,會比較占用服務器的性能,考慮到減輕服務器性能方面,應當使用Cookie;
服務端的session的實現(xiàn)對客戶端的cookie有依賴關系的,sessionid是寫在cookie中的;
看完上述內(nèi)容,你們對怎樣解析Cookie和Session有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
文章標題:怎樣解析Cookie和Session
文章源于:http://www.ef60e0e.cn/article/jijjge.html