您好,登錄后才能下訂單哦!
本篇文章為大家展示了Cookies 和 Session的異同點(diǎn)有哪些,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
Cookies 和 Session的詳解及區(qū)別
1.cookie 是一種發(fā)送到客戶瀏覽器的文本串句柄,并保存在客戶機(jī)硬盤上,可以用來在某個(gè)WEB站點(diǎn)會(huì)話間持久的保持?jǐn)?shù)據(jù)。
2.session其實(shí)指的就是訪問者從到達(dá)某個(gè)特定主頁(yè)到離開為止的那段時(shí)間。 Session其實(shí)是利用Cookie進(jìn)行信息處理的,當(dāng)用戶首先進(jìn)行了請(qǐng)求后,服務(wù)端就在用戶瀏覽器上創(chuàng)建了一個(gè)Cookie,當(dāng)這個(gè)Session結(jié)束時(shí),其實(shí)就是意味著這個(gè)Cookie就過期了。
注:為這個(gè)用戶創(chuàng)建的Cookie的名稱是aspsessionid。這個(gè)Cookie的唯一目的就是為每一個(gè)用戶提供不同的身份認(rèn)證。
session 從字面上講,就是會(huì)話。這個(gè)就類似于你和一個(gè)人交談,你怎么知道當(dāng)前和你交談的是張三而不是李四呢?對(duì)方肯定有某種特征(長(zhǎng)相等)表明他就是張三。session 也是類似的道理,服務(wù)器要知道當(dāng)前發(fā)請(qǐng)求給自己的是誰。為了做這種區(qū)分,服務(wù)器就要給每個(gè)客戶端分配不同的“身份標(biāo)識(shí)”,然后客戶端每次向服務(wù)器發(fā)請(qǐng)求的時(shí)候,都帶上這個(gè)“身份標(biāo)識(shí)”,服務(wù)器就知道這個(gè)請(qǐng)求來自于誰了。至于客戶端怎么保存這個(gè)“身份標(biāo)識(shí)”,可以有很多種方式,對(duì)于瀏覽器客戶端,大家都默認(rèn)采用 cookie 的方式。
3.cookie和session的共同之處在于:cookie和session都是用來跟蹤瀏覽器用戶身份的會(huì)話方式。
4.cookie 和session的區(qū)別是:cookie數(shù)據(jù)保存在客戶端,session數(shù)據(jù)保存在服務(wù)器端。
簡(jiǎn)單的說,當(dāng)你登錄一個(gè)網(wǎng)站的時(shí)候:
· 如果web服務(wù)器端使用的是session,那么所有的數(shù)據(jù)都保存在服務(wù)器上, 客戶端每次請(qǐng)求服務(wù)器的時(shí)候會(huì)發(fā)送當(dāng)前會(huì)話的sessionid,服務(wù)器根據(jù)當(dāng)前sessionid判斷相應(yīng)的用戶數(shù)據(jù)標(biāo)志 ,以確定用戶是否登錄或具有某種權(quán)限。由于數(shù)據(jù)是存儲(chǔ)在服務(wù)器上面,所以你不能偽造, 但是如果你能夠獲取某個(gè)登錄用戶的sessionid,用特殊的瀏覽器偽造該用戶的請(qǐng)求也是能夠成功的。 sessionid是服務(wù)器和客戶端鏈接時(shí)候隨機(jī)分配的,一般來說是不會(huì)有重復(fù),但如果有大量的并發(fā)請(qǐng)求, 也不是沒有重復(fù)的可能性. · 如果瀏覽器使用的是cookie,那么所有的數(shù)據(jù)都保存在瀏覽器端,比如你登錄以后, 服務(wù)器設(shè)置了cookie用戶名,那么當(dāng)你再次請(qǐng)求服務(wù)器的時(shí)候,瀏覽器會(huì)將用戶名一塊發(fā)送給服務(wù)器, 這些變量有一定的特殊標(biāo)記。服務(wù)器會(huì)解釋為cookie變量,所以只要不關(guān)閉瀏覽器,那么cookie變量一直是有效的, 所以能夠保證長(zhǎng)時(shí)間不掉線。如果你能夠截獲某個(gè)用戶的cookie變量,然后偽造一個(gè)數(shù)據(jù)包發(fā)送過去, 那么服務(wù)器還是認(rèn)為你是合法的。所以,使用cookie被攻擊的可能性比較大。如果設(shè)置了的有效時(shí)間, 那么它會(huì)將cookie保存在客戶端的硬盤上,下次再訪問該網(wǎng)站的時(shí)候,瀏覽器先檢查有沒有 cookie, 如果有的話,就讀取該cookie,然后發(fā)送給服務(wù)器。如果你在機(jī)器上面保存了某個(gè)論壇 cookie, 有效期是一年,如果有人入侵你的機(jī)器,將你的cookie拷走,然后放在他的瀏覽器的目錄下面, 那么他登錄該網(wǎng)站的時(shí)候就是用你的的身份登錄的。所以cookie是可以偽造的。當(dāng)然,偽造的時(shí)候需要注意, 直接copy cookie文件到cookie目錄,瀏覽器是不認(rèn)的,他有一個(gè)index.dat文件,存儲(chǔ)了cookie文件的建立時(shí)間, 以及是否有修改,所以你必須先要有該網(wǎng)站的 cookie文件,并且要從有效時(shí)間上騙過瀏覽器。
5.兩個(gè)都可以用來存私密的東西,同樣也都有有效期的說法,區(qū)別在于session是放在服務(wù)器上的,過期與否取決于服務(wù)期的設(shè)定,cookie是存在客戶端的,過去與否可以在cookie生成的時(shí)候設(shè)置進(jìn)去。
(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在客戶端的限制是3K,就是說一個(gè)站點(diǎn)在客戶端存放的COOKIE不能3K。
(5)所以:將登陸信息等重要信息存放為SESSION;其他信息如果需要保留,可以放在COOKIE中
上述內(nèi)容就是Cookies 和 Session的異同點(diǎn)有哪些,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。