Web笔记-session及cookie
此博文筆記并不全(對于像本人這樣開發(fā)經(jīng)驗(yàn)不足的已經(jīng)夠了),只是記錄了本人目前對session和cookie的理解,以及在開發(fā)時(shí),應(yīng)該注意些什么。
?
首先看下兩個(gè)概念:
session:對象存儲特定用戶會話所需的屬性及配置信息。
?
session是服務(wù)器如何產(chǎn)生的?
當(dāng)訪問服務(wù)器否個(gè)網(wǎng)頁的時(shí)候,會在服務(wù)器端的內(nèi)存里開辟一塊內(nèi)存,這塊內(nèi)存就叫做session,而這個(gè)內(nèi)存是跟瀏覽器關(guān)聯(lián)在一起的。這個(gè)瀏覽器指的是瀏覽器窗口,或者是瀏覽器的子窗口,意思就是,只允許當(dāng)前這個(gè)session對應(yīng)的瀏覽器訪問,就算是在同一個(gè)機(jī)器上新啟的瀏覽器也是無法訪問的。而另外一個(gè)瀏覽器也需要記錄session的話,就會再啟一個(gè)屬于自己的session。
?
多個(gè)用戶訪問界面,服務(wù)端是如何知道哪個(gè)用戶給哪些數(shù)據(jù)?
把session的id?放在cookie,因?yàn)閏ookie有臨時(shí)的,也有定時(shí)的,臨時(shí)的就是當(dāng)前瀏覽器什么時(shí)候關(guān)掉即消失,也就是說session本來就是當(dāng)瀏覽器關(guān)閉即消失的,所以可以用臨時(shí)的cookie存放。保存再cookie里的sessionID一定不會重復(fù),因?yàn)槭仟?dú)一無二的。
或者放到url里面或者其他里面,也是可以的。
?
?
?
cookie:不超過4KB的文本數(shù)據(jù),采用key-value的模式。這里以瀏覽器用戶登錄安全機(jī)制來看。
?
Cookie是從哪里來?
當(dāng)用戶試圖訪問某Web站點(diǎn)中需要認(rèn)證的資源時(shí),Web服務(wù)器會檢查用戶是否提供了認(rèn)證Cookie,如果沒有,則將用戶重定向到登錄頁面。在用戶成功登錄后,Web服務(wù)器會產(chǎn)生認(rèn)證Cookie,并通過HTTP響應(yīng)中的Set-Cookie頭發(fā)送給客戶端,用于對用戶隨后的請求進(jìn)行檢查和驗(yàn)證,接著將用戶重定向到初始請求的資源。
?
瀏覽器中這么多Cookie該拿哪個(gè)給要登錄的服務(wù)器?
檢索Cookie。在用戶隨后的訪問請求中,客戶端瀏覽器檢索Path和Domain等屬性與用戶請求資源相匹配的Cookie,并將找到的Cookie通過HTTP請求中的Cookie頭提交給Web服務(wù)器。
?
服務(wù)端如何驗(yàn)證的?
驗(yàn)證CookieWeb服務(wù)器提取客戶端瀏覽器遞交的Cookie,驗(yàn)證其中的訪問令牌。若合法,則將訪問請求的資源發(fā)送給客戶端瀏覽器;反之則拒絕用戶的訪問請求。Cookie?認(rèn)證技術(shù)簡化了用戶訪問?Web?網(wǎng)站資源的過程,即用戶只需在初次登錄網(wǎng)站時(shí)輸入身份信息進(jìn)行認(rèn)證,隨后便可以訪問被授權(quán)的所有站點(diǎn)資源,不再需要重復(fù)手工提交身份信息。
?
?
這里以CSDN站點(diǎn)為例。分析下。
這里我們只要把csdn的cookie拷貝過去,用軟件,就能實(shí)現(xiàn)自動評論,和點(diǎn)贊了。這也是我以前實(shí)現(xiàn)這些功能的原理
總結(jié)
以上是生活随笔為你收集整理的Web笔记-session及cookie的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring中3种实例Bean的方法及设
- 下一篇: Arduino笔记-呼吸流水灯