好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > 老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)

老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)

熱門標(biāo)簽:華創(chuàng)e路航彩票銷售點(diǎn)地圖標(biāo)注 鶴壁外呼系統(tǒng)公司 臨沂ai電銷機(jī)器人招商 suitecrm 地圖標(biāo)注 承德地圖標(biāo)注公司收費(fèi) 銀川語(yǔ)音外呼系統(tǒng)中心 揭陽(yáng)電腦外呼系統(tǒng)公司 高德地圖標(biāo)注常顯 外呼系統(tǒng)號(hào)顯示星號(hào)怎么看

一. 概念理解

你可能有留意到當(dāng)你瀏覽網(wǎng)頁(yè)時(shí),會(huì)有一些推送消息,大多數(shù)是你最近留意過的同類東西,比如你想買桌子,上淘寶搜了一下,結(jié)果連著幾天會(huì)有各種各樣的桌子的鏈接。這是因?yàn)?/p>

你瀏覽某個(gè)網(wǎng)頁(yè)的時(shí)候,WEB 服務(wù)器會(huì)先送一些資料放在你的計(jì)算機(jī)上,類似于你打的文字,選的一些東西什么的,Cookie 會(huì)幫你都紀(jì)錄下來。當(dāng)下次你再光臨同一個(gè)網(wǎng)站,WEB

服務(wù)器會(huì)先看看有沒有它上次留下的 Cookie 資料,有的話,就會(huì)依據(jù) Cookie里的內(nèi)容來判斷使用者,送出特定的網(wǎng)頁(yè)內(nèi)容給你。 Cookie 的使用很普遍,許多有提供個(gè)人化服務(wù)的

網(wǎng)站,都是利用 Cookie來辨認(rèn)使用者,以方便送出使用者量身定做的內(nèi)容。

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

先來了解幾個(gè)概念。

1、無狀態(tài)的HTTP協(xié)議:

協(xié)議是指計(jì)算機(jī)通信網(wǎng)絡(luò)中兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信所必須共同遵守的規(guī)定或規(guī)則,超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言(HTML)文檔從Web服務(wù)器

傳送到客戶端的瀏覽器。

HTTP協(xié)議是無狀態(tài)的協(xié)議。一旦數(shù)據(jù)交換完畢,客戶端與服務(wù)器端的連接就會(huì)關(guān)閉,再次交換數(shù)據(jù)需要建立新的連接。這就意味著服務(wù)器無法從連接上跟蹤會(huì)話。

2、會(huì)話(Session)跟蹤:

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

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

二. Cookie

由于HTTP是一種無狀態(tài)的協(xié)議,服務(wù)器單從網(wǎng)絡(luò)連接上無從知道客戶身份。用戶A購(gòu)買了一件商品放入購(gòu)物車內(nèi),當(dāng)再次購(gòu)買商品時(shí)服務(wù)器已經(jīng)無法判斷該購(gòu)買行為是屬于用戶A的

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

的工作原理。

Cookie實(shí)際上是一小段的文本信息。客戶端請(qǐng)求服務(wù)器,如果服務(wù)器需要記錄該用戶狀態(tài),就使用response向客戶端瀏覽器頒發(fā)一個(gè)Cookie。客戶端會(huì)把Cookie保存起來。

當(dāng)瀏覽器再請(qǐng)求該網(wǎng)站時(shí),瀏覽器把請(qǐng)求的網(wǎng)址連同該Cookie一同提交給服務(wù)器。服務(wù)器檢查該Cookie,以此來辨認(rèn)用戶狀態(tài)。服務(wù)器還可以根據(jù)需要修改Cookie的內(nèi)容。

1、cookie的內(nèi)容主要包括:名字,值,過期時(shí)間,路徑和域。路徑與域一起構(gòu)成cookie的作用范圍。

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

2)Domain屬性的默認(rèn)值為當(dāng)前URL的域名部分,不管發(fā)出這個(gè)cookie的頁(yè)面在哪個(gè)目錄下的。

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

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

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

2、Path和Domain屬性

--path:  

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

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

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

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

--Domain:

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

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

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

3、會(huì)話Cookie和持久Cookie

若不設(shè)置過期時(shí)間,則表示這個(gè)cookie的生命期為瀏覽器會(huì)話期間,關(guān)閉瀏覽器窗口,cookie就消失。這種生命期為瀏覽器會(huì)話期的cookie被稱為會(huì)話cookie。會(huì)話cookie一般不存儲(chǔ)在

硬盤上而是保存在內(nèi)存里,當(dāng)然這種行為并不是規(guī)范規(guī)定的。

若設(shè)置了過期時(shí)間,瀏覽器就會(huì)把cookie保存到硬盤上,關(guān)閉后再次打開瀏覽器,這些cookie仍然有效直到超過設(shè)定的過期時(shí)間。存儲(chǔ)在硬盤上的cookie可以在瀏覽器的不同進(jìn)程間共享。

這種稱為持久Cookie。

4、Cookie具有不可跨域名性

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

三. Session

Session是另一種記錄客戶狀態(tài)的機(jī)制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務(wù)器上。客戶端瀏覽器訪問服務(wù)器的時(shí)候,服務(wù)器把客戶端信息以某種形式記錄

在服務(wù)器上。這就是Session。客戶端瀏覽器再次訪問時(shí)只需要從該Session中查找該客戶的狀態(tài)就可以了。

每個(gè)用戶訪問服務(wù)器都會(huì)建立一個(gè)session,那服務(wù)器是怎么標(biāo)識(shí)用戶的唯一身份呢?事實(shí)上,用戶與服務(wù)器建立連接的同時(shí),服務(wù)器會(huì)自動(dòng)為其分配一個(gè)SessionId。

1、兩個(gè)問題:

1)什么東西可以讓你每次請(qǐng)求都把SessionId自動(dòng)帶到服務(wù)器呢?顯然就是cookie了,如果你想為用戶建立一次會(huì)話,可以在用戶授權(quán)成功時(shí)給他一個(gè)唯一的cookie。當(dāng)一個(gè)

用戶提交了表單時(shí),瀏覽器會(huì)將用戶的SessionId自動(dòng)附加在HTTP頭信息中,(這是瀏覽器的自動(dòng)功能,用戶不會(huì)察覺到),當(dāng)服務(wù)器處理完這個(gè)表單后,將結(jié)果返回給SessionId

所對(duì)應(yīng)的用戶。試想,如果沒有 SessionId,當(dāng)有兩個(gè)用戶同時(shí)進(jìn)行注冊(cè)時(shí),服務(wù)器怎樣才能知道到底是哪個(gè)用戶提交了哪個(gè)表單呢。

2)儲(chǔ)存需要的信息。服務(wù)器通過SessionId作為key,讀寫到對(duì)應(yīng)的value,這就達(dá)到了保持會(huì)話信息的目的。

2、session的創(chuàng)建:

當(dāng)程序需要為某個(gè)客戶端的請(qǐng)求創(chuàng)建一個(gè)session時(shí),服務(wù)器首先檢查這個(gè)客戶端的請(qǐng)求里是否已包含了sessionId,如果已包含則說明以前已經(jīng)為此客戶端創(chuàng)建過session,服務(wù)

器就按照sessionId把這個(gè)session檢索出來使用(檢索不到,會(huì)新建一個(gè)),如果客戶端請(qǐng)求不包含sessionId,則為此客戶端創(chuàng)建一個(gè)session并且生成一個(gè)與此session相關(guān)

聯(lián)的sessionId,sessionId的值是一個(gè)既不會(huì)重復(fù),又不容易被找到規(guī)律以仿造的字符串,這個(gè)sessionId將被在本次響應(yīng)中返回給客戶端保存。

3、禁用cookie:

如果客戶端禁用了cookie,通常有兩種方法實(shí)現(xiàn)session而不依賴cookie。

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

2)表單隱藏字段。就是服務(wù)器會(huì)自動(dòng)修改表單,添加一個(gè)隱藏字段,以便在表單提交時(shí)能夠把session id傳遞回服務(wù)器。比如:

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

4、Session共享:

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

在各自的cookie中,因此服務(wù)器會(huì)認(rèn)為對(duì)于兩個(gè)子站的訪問,是來自不同的會(huì)話。解決的方法是通過修改cookies的域名為父域名達(dá)到cookie共享的目的,從而實(shí)現(xiàn)SessionId的共

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

四. 總結(jié)

1、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。

2、cookie不是很安全,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙,考慮到安全應(yīng)當(dāng)使用session。

3、session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會(huì)比較占用你服務(wù)器的性能,考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用cookie。

4、單個(gè)cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。

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

以上這篇老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 淺談cookie 和session 的區(qū)別
  • 關(guān)于session和cookie的簡(jiǎn)單理解
  • 新手菜鳥必讀:session與cookie的區(qū)別
  • 詳解PHP中cookie和session的區(qū)別及cookie和session用法小結(jié)
  • .net中的session與cookies區(qū)別及使用方法
  • PHP中cookie和session的區(qū)別實(shí)例分析

標(biāo)簽:許昌 忻州 萊蕪 七臺(tái)河 三沙 棗莊 汕尾 咸寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)》,本文關(guān)鍵詞  老生常談,Session,和,Cookie,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 青青草久久久| 三级全黄做爰视频在线手机观看| 99草| 免费最婬荡成人小说app下载| 麻豆传煤入口573| 男女猛烈xx00免费视频试看| MatureTube?老熟女| 欧美精品一区二区| 能看的毛片网站| 陈冠希吸爽阿娇动态图| 国产精品人妻无码久久久久| 国产一级做a爰片在线看| 久久久久精品香蕉免费看| 俄罗斯18–19sex性HSD| 欧美性SUV| 免费三级黄| 一色屋人任你精品网站| 91欧美亚洲| 莫南爵童染飙做| 男人狂吻我的下面高潮| 免费欧美视频| 嫩草影院A片久久精品91| 成人精品视频99在线观看免费| a天堂视频| 无码精品人妻一区二区三区影院| 国产精品久久久久久欧美蜜月Av | zuirtcom欧美人体欣赏| 爽?躁多水?快?深小| 美女一级A片| 久久福利电影网| 刘嘉玲一级毛片免费观看| 苏桃闺蜜放荡H肉辣文| 国产成+人欧美+综合在线观看 | qyule.tv成人看片| 男人把J伸进女人下面视频免费| 久久午夜无码鲁丝片直播| bl高h辣文| 成年人视频在线免费观看| 娇妻边打电话边被躁BD在| 美国式禁忌1-4电影在线观看| 男生肌肌往女人桶爽视频|