亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

老生常談Session和Cookie之間區別與聯系(必看篇)

2024-07-21 02:03:01
字體:
來源:轉載
供稿:網友

一. 概念理解

你可能有留意到當你瀏覽網頁時,會有一些推送消息,大多數是你最近留意過的同類東西,比如你想買桌子,上淘寶搜了一下,結果連著幾天會有各種各樣的桌子的鏈接。這是因為

你瀏覽某個網頁的時候,WEB 服務器會先送一些資料放在你的計算機上,類似于你打的文字,選的一些東西什么的,Cookie 會幫你都紀錄下來。當下次你再光臨同一個網站,WEB

服務器會先看看有沒有它上次留下的 Cookie 資料,有的話,就會依據 Cookie里的內容來判斷使用者,送出特定的網頁內容給你。 Cookie 的使用很普遍,許多有提供個人化服務的

網站,都是利用 Cookie來辨認使用者,以方便送出使用者量身定做的內容。

然而,cookie是什么呢?session又是什么?

先來了解幾個概念。

1、無狀態的HTTP協議:

協議是指計算機通信網絡中兩臺計算機之間進行通信所必須共同遵守的規定或規則,超文本傳輸協議(HTTP)是一種通信協議,它允許將超文本標記語言(HTML)文檔從Web服務器

傳送到客戶端的瀏覽器。

HTTP協議是無狀態的協議。一旦數據交換完畢,客戶端與服務器端的連接就會關閉,再次交換數據需要建立新的連接。這就意味著服務器無法從連接上跟蹤會話。

2、會話(Session)跟蹤:

會話,指用戶登錄網站后的一系列動作,比如瀏覽商品添加到購物車并購買。會話(Session)跟蹤是Web程序中常用的技術,用來跟蹤用戶的整個會話。常用的會話跟蹤技術

是Cookie與Session。Cookie通過在客戶端記錄信息確定用戶身份,Session通過在服務器端記錄信息確定用戶身份。

二. Cookie

由于HTTP是一種無狀態的協議,服務器單從網絡連接上無從知道客戶身份。用戶A購買了一件商品放入購物車內,當再次購買商品時服務器已經無法判斷該購買行為是屬于用戶A的

會話還是用戶B的會話了。怎么辦呢?就給客戶端們頒發一個通行證吧,每人一個,無論誰訪問都必須攜帶自己通行證。這樣服務器就能從通行證上確認客戶身份了。這就是Cookie

的工作原理。

Cookie實際上是一小段的文本信息。客戶端請求服務器,如果服務器需要記錄該用戶狀態,就使用response向客戶端瀏覽器頒發一個Cookie??蛻舳藭袰ookie保存起來。

當瀏覽器再請求該網站時,瀏覽器把請求的網址連同該Cookie一同提交給服務器。服務器檢查該Cookie,以此來辨認用戶狀態。服務器還可以根據需要修改Cookie的內容。

1、cookie的內容主要包括:名字,值,過期時間,路徑和域。路徑與域一起構成cookie的作用范圍。

1)Name 和 Value 屬性由程序設定,默認值都是空引用。

2)Domain屬性的默認值為當前URL的域名部分,不管發出這個cookie的頁面在哪個目錄下的。

3)Path屬性的默認值是根目錄,即 ”/” ,不管發出這個cookie的頁面在哪個目錄下的。可以由程序設置為一定的路徑來進一步限制此cookie的作用范圍。

4)Expires 屬性,這個屬性設置此Cookie 的過期日期和時間。

HttpCookie cookie = new HttpCookie("MyCook");//初使化并設置Cookie的名稱DateTime dt = DateTime.Now;TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0);//過期時間為1分鐘cookie.Expires = dt.Add(ts);//設置過期時間cookie.Values.Add("userid", "value");cookie.Values.Add("userid2", "value2");Response.AppendCookie(cookie);

2、Path和Domain屬性

--path:  

如果http://www.china.com/test/index.html 建立了一個cookie,那么在http://www.china.com/test/目錄里的所有頁面,以及該目錄下面任何子目錄里

的頁面都可以訪問這個cookie。這就是說,在http://www.china.com/test/test2/test3 里的任何頁面都可以訪問http://www.china.com/test/index.html

建立的cookie。但是,如果http://www.china.com/test/ 需要訪問http://www.china.com/test/index.html設置的cookes,該怎么辦?

這時,我們要把cookies的path屬性設置成“/”。在指定路徑的時候,凡是來自同一服務器,URL里有相同路徑的所有WEB頁面都可以共享cookies。

--Domain:

比如: http://www.baidu.com/xxx/login.aspx 頁面中發出一個cookie,Domain屬性缺省就是www.baidu.com ,可以由程序設置此屬性為需要的值。  

值是域名,比如www.china.com。這是對path路徑屬性的一個延伸。如果我們想讓 www.china.com能夠訪問bbs.china.com設置的cookies,該怎么辦? 我們可以把

domain屬性設置成“china.com”, 并把path屬性設置成“/”。

3、會話Cookie和持久Cookie

若不設置過期時間,則表示這個cookie的生命期為瀏覽器會話期間,關閉瀏覽器窗口,cookie就消失。這種生命期為瀏覽器會話期的cookie被稱為會話cookie。會話cookie一般不存儲在

硬盤上而是保存在內存里,當然這種行為并不是規范規定的。

若設置了過期時間,瀏覽器就會把cookie保存到硬盤上,關閉后再次打開瀏覽器,這些cookie仍然有效直到超過設定的過期時間。存儲在硬盤上的cookie可以在瀏覽器的不同進程間共享。

這種稱為持久Cookie。

4、Cookie具有不可跨域名性

就是說,瀏覽器訪問百度不會帶上谷歌的cookie。

三. Session

Session是另一種記錄客戶狀態的機制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務器上??蛻舳藶g覽器訪問服務器的時候,服務器把客戶端信息以某種形式記錄

在服務器上。這就是Session??蛻舳藶g覽器再次訪問時只需要從該Session中查找該客戶的狀態就可以了。

每個用戶訪問服務器都會建立一個session,那服務器是怎么標識用戶的唯一身份呢?事實上,用戶與服務器建立連接的同時,服務器會自動為其分配一個SessionId。

1、兩個問題:

1)什么東西可以讓你每次請求都把SessionId自動帶到服務器呢?顯然就是cookie了,如果你想為用戶建立一次會話,可以在用戶授權成功時給他一個唯一的cookie。當一個

用戶提交了表單時,瀏覽器會將用戶的SessionId自動附加在HTTP頭信息中,(這是瀏覽器的自動功能,用戶不會察覺到),當服務器處理完這個表單后,將結果返回給SessionId

所對應的用戶。試想,如果沒有 SessionId,當有兩個用戶同時進行注冊時,服務器怎樣才能知道到底是哪個用戶提交了哪個表單呢。

2)儲存需要的信息。服務器通過SessionId作為key,讀寫到對應的value,這就達到了保持會話信息的目的。

2、session的創建:

當程序需要為某個客戶端的請求創建一個session時,服務器首先檢查這個客戶端的請求里是否已包含了sessionId,如果已包含則說明以前已經為此客戶端創建過session,服務

器就按照sessionId把這個session檢索出來使用(檢索不到,會新建一個),如果客戶端請求不包含sessionId,則為此客戶端創建一個session并且生成一個與此session相關

聯的sessionId,sessionId的值是一個既不會重復,又不容易被找到規律以仿造的字符串,這個sessionId將被在本次響應中返回給客戶端保存。

3、禁用cookie:

如果客戶端禁用了cookie,通常有兩種方法實現session而不依賴cookie。

1)URL重寫,就是把sessionId直接附加在URL路徑的后面。

2)表單隱藏字段。就是服務器會自動修改表單,添加一個隱藏字段,以便在表單提交時能夠把session id傳遞回服務器。比如:

<form name="testform" action="/xxx"> <input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764"> <input type="text"> </form> 

4、Session共享:

對于多網站(同一父域不同子域)單服務器,我們需要解決的就是來自不同網站之間SessionId的共享。由于域名不同(aaa.test.com和bbb.test.com),而SessionId又分別儲存

在各自的cookie中,因此服務器會認為對于兩個子站的訪問,是來自不同的會話。解決的方法是通過修改cookies的域名為父域名達到cookie共享的目的,從而實現SessionId的共

享。帶來的弊端就是,子站間的cookie信息也同時被共享了。

四. 總結

1、cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。

2、cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應當使用session。

3、session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用cookie。

4、單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie。

5、可以考慮將登陸信息等重要信息存放為session,其他信息如果需要保留,可以放在cookie中。

以上這篇老生常談Session和Cookie之間區別與聯系(必看篇)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品视频在线| 国产福利精品av综合导导航| 久久精品99久久久香蕉| 国产欧美日韩免费看aⅴ视频| 国产日韩精品视频| 欧美体内谢she精2性欧美| 亚洲欧美日韩在线高清直播| 福利视频第一区| 国产欧美精品一区二区| 国产欧美一区二区三区久久人妖| 在线看日韩欧美| 91超碰caoporn97人人| 成人欧美一区二区三区黑人| 精品亚洲aⅴ在线观看| 亚洲已满18点击进入在线看片| 亚洲欧美另类在线观看| 亚洲成年人影院在线| 亚洲男人天堂网站| 91精品国产自产在线老师啪| 日韩欧美中文第一页| 另类视频在线观看| 久久精品色欧美aⅴ一区二区| 久久精品国亚洲| 久久久久久噜噜噜久久久精品| 91天堂在线视频| 国色天香2019中文字幕在线观看| 97在线视频免费看| 亚洲资源在线看| 久久精品中文字幕| 亚洲精品国产福利| 精品无码久久久久久国产| 久久伊人精品天天| 成人精品视频在线| 久久网福利资源网站| 成人午夜在线影院| 国产欧美在线观看| 国产精品情侣自拍| 亚洲人成在线免费观看| 精品国产区一区二区三区在线观看| 久久影院免费观看| 久久久久中文字幕2018| 国产精品白丝jk喷水视频一区| 欧美精品日韩三级| 欧美精品在线免费| 欧美成人免费观看| 日韩激情视频在线播放| 欧美日韩另类字幕中文| 国产精品稀缺呦系列在线| 亚洲精品成人久久久| 中文字幕亚洲无线码在线一区| 欧美激情在线有限公司| 91精品国产成人| 国产精品高潮视频| 亚洲精品美女久久久| 深夜福利亚洲导航| 羞羞色国产精品| 亚洲国内精品在线| 精品偷拍一区二区三区在线看| 色先锋资源久久综合5566| 亚洲精品影视在线观看| 亚洲www在线观看| 欧美国产高跟鞋裸体秀xxxhd| 亚洲图片欧洲图片av| 91精品国产免费久久久久久| 欧美亚洲一区在线| 91亚洲精品一区二区| 91精品国产高清久久久久久| 久久免费视频在线观看| 不卡av在线网站| 午夜精品免费视频| 色偷偷偷亚洲综合网另类| 97色伦亚洲国产| 成人午夜在线影院| 成人免费福利视频| 久久精品视频在线播放| 琪琪亚洲精品午夜在线| 91香蕉嫩草影院入口| 久久亚洲精品网站| 日韩av在线网页| 国产精品久久久久久久久久ktv| 国产精品偷伦视频免费观看国产| 91久久综合亚洲鲁鲁五月天| 成人在线免费观看视视频| 亚洲国产高清福利视频| 久久精品欧美视频| 亚洲欧美第一页| 成人中文字幕在线观看| 亚洲最大av网| 久久伊人色综合| 久久韩国免费视频| 精品国产欧美一区二区三区成人| 久久久爽爽爽美女图片| 性欧美xxxx视频在线观看| 日韩久久精品成人| 欧美性猛交xxxx久久久| 91老司机在线| 在线观看国产精品淫| 日韩欧美a级成人黄色| 91九色国产视频| 亚洲人成电影在线播放| 亚洲理论片在线观看| 亚洲va国产va天堂va久久| 亚洲第一页自拍| 黄色成人在线播放| 在线视频国产日韩| 中文字幕欧美国内| 亚洲国产精品女人久久久| 热久久视久久精品18亚洲精品| 成人在线国产精品| 国产性色av一区二区| 久久成人精品一区二区三区| 乱亲女秽乱长久久久| 欧美夜福利tv在线| 久久久之久亚州精品露出| 亚洲天堂av网| 亚洲电影免费观看| 亚洲第一免费网站| 日韩精品亚洲视频| 精品呦交小u女在线| 亚洲精品国产精品国自产在线| 国产欧美一区二区三区视频| 成人黄色短视频在线观看| 国产亚洲人成网站在线观看| 欧美午夜无遮挡| 欧美另类高清videos| 亚洲国产小视频| 欧美超级免费视 在线| 狠狠躁夜夜躁人人爽超碰91| 4k岛国日韩精品**专区| 18久久久久久| 久久夜精品香蕉| 国产91成人在在线播放| www.亚洲一区| 欧美黑人国产人伦爽爽爽| 久久99热精品这里久久精品| 国产亚洲一区精品| 精品久久国产精品| 一区二区三区美女xx视频| 日韩欧美在线免费| 日本高清不卡在线| 97视频在线观看免费高清完整版在线观看| 亚洲a在线播放| 国产一区玩具在线观看| 美女av一区二区三区| 国产在线拍偷自揄拍精品| 欧美日韩精品在线| 欧美日韩福利视频| 国产日本欧美视频| 日韩美女av在线免费观看| 色综合色综合网色综合| 国产在线拍揄自揄视频不卡99| 亚洲欧美国产精品| 欧美做爰性生交视频| 国产视频精品va久久久久久| 日韩在线视频网站| 亚洲欧美国产精品久久久久久久| 精品久久久久久| 日韩一二三在线视频播| 国产精品嫩草影院久久久| 欧美日韩中国免费专区在线看| 亚洲欧洲av一区二区| 亚洲欧美在线x视频| 91中文精品字幕在线视频| 日韩av免费在线|