cookie 和session 的區別詳解

時間 2023-05-26 19:25:04

1樓:匿名使用者

session是儲存在伺服器端的,cookie是儲存在客戶端的,所以session的安全性要高於cookie。

再者,我們獲取的session裡的資訊是通過存放在會話cookie裡的sessionid獲取的。

因為session是存放在伺服器裡的,所以session裡的東西不斷增加會增加伺服器的負擔,我們會把一些重要的東西放在session裡,不太重要的放在客戶端cookie裡。

cookie分為兩大類,乙個是會話cookie和持久化cookie,他們的生命週期和瀏覽器是一致的,瀏覽器關了會話cooki也就消失了,而持久化會儲存在客戶端硬碟中。

2樓:龍影騰空小學生

具體來說cookie機制採用的是在客戶端保持狀態的方案。它是在使用者端的會話狀態的存貯機制,他需要使用者開啟客戶端的cookie支援。cookie的作用就是為了解決http協議無狀態的缺陷所作的努力。

而session機制採用的是一種在客戶端與伺服器之間保持狀態的解決方案。同時我們也看到,由於採用伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目的。而session提供了方便管理全域性變數的方式。

session是針對每乙個使用者的,變數的值儲存在伺服器上,用乙個sessionid來區分是哪個使用者session變數,這個值是通過使用者的瀏覽器在訪問的時候返回給伺服器,當客戶禁用cookie時,這個值也可能設定為由get來返回給伺服器。

就安全性來說:當你訪問乙個使用session 的站點,同時在自己機子上建立乙個cookie,建議在伺服器端的session機制更安全些。因為它不會任意讀取客戶儲存的資訊。

正統的cookie分發是通過擴充套件http協議來實現的,伺服器通過在http的響應頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應的cookie

從網路伺服器觀點看所有http請求都獨立於先前請求。就是說每乙個http響應完全依賴於相應請求中包含的資訊。

狀態管理機制克服了http的一些限制並允許網路客戶端及伺服器端維護請求間的關係。在這種關係維持的期間叫做會話(session)。

cookies是伺服器在本地機器上儲存的小段文字並隨每乙個請求傳送至同乙個伺服器。

session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表的結構(也可能就是使用雜湊表)來儲存資訊。

3樓:匿名使用者

cookie用於互動時存放在客戶端,即使用你臨時資料夾中不存在cookie,但在你的瀏覽器程序中會臨時儲存你的cookie!session是互動時存放在服務端,即使用不儲存,也在服務程序中。

如果你對網頁有互動,伺服器如何在眾多請求中能識別你那是曾經的哪乙個?這依賴於你傳遞上來的cookie,即合沒有任何其他的的互動,在你瀏覽器程序中也必須儲存諸如sessionid之類的cookie!但這個是臨時的,只是為了識別你到底是誰而已。

知道了你是誰,伺服器還需要知道該怎麼做,那麼在伺服器程序中必須存在乙個sessionid,這個與你請求的相對應,然後根據這個才知道你是誰,該怎麼做。

sessionid是你初次請求時由系統生成,隨網頁流儲存在你的瀏覽器程序中,以便你在使用postback等回傳功能時能識別你!要不然,你回傳了,另外乙個請求卻得到你的回傳反應,這有點說不過去吧?

sessionid相當於瀏覽器與服務程序進行了乙個簡單的約定,可以理解為初次伺服器發給你的乙個通行號碼,以後你與伺服器的任何互動都依賴於這個號碼!

而其他的需要長期儲存的一些資訊也在cookie中,如使用者名稱與密碼等等,與這個通訊的結果是相同的。也就是說cookie與session同時存在,分別在客戶端與伺服器!

如果你通過網路嗅探或是其他方式,得到了某乙個瀏覽器正在互動的sessionid以及一些程序中儲存的session資訊,這個資訊在客戶端稱cookie,這伺服器稱session。那麼你可以利用這些資訊進行攻擊。

如,在某台電腦中儲存有某使用者的user與password通行資訊時,你可以將自己的cookie違裝成目標的cookie,然後可以進行登陸,這種攻擊方式叫cookie攻擊!

如果他的這些資訊儲存在了瀏覽器程序中,也可以偽造,這種其實也是cookie攻擊,但由於其不確定性(你還必須拿到sessionid),這種稱為session攻擊。其實說白了,這種方式在伺服器中直接使用的session[「user"]之類的方式取得的,所以偽造時連同sessionid一塊偽造,所以才被稱為session攻擊的。

由於多標籤瀏覽器的存在,還可以進行網頁交叉攻擊!

cookie與session的區別和聯絡

霍桂花賈綾 cookie 和session 的區別 1 cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。2 cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙 考慮到安全應當使用session。3 session會在一定時間內儲存在伺服器上。當訪...

COOKIE和SESSION有什麼區別

cookie 和session 的區別 1 cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。2 cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙 考慮到安全應當使用session。3 session會在一定時間內儲存在伺服器上。簡述cookie...

禁用cookie 後 session 還能用嗎

1.session並不是cookie的子集asp中 session 必須倚賴cookie才可用,session是儲存在伺服器端的,而cookie是儲存在客戶端的,相對而言,session的安全性和可靠程度都比cookie高asp.net中session可以不依賴cookie而存在!也就是說,從微軟的...

cookie是幹什麼用的,cookie的作用,用途

cookies 它是什麼,為什麼您在控制它?cookie是 乙個由網頁伺服器放在您硬碟上的非常小的文字檔案.它本質上就像您的身份證明一樣,並且不能像 那樣被執行或被用來散布病毒。它只能被您使用並且只能由提供的伺服器讀取.使用cookie的目的是 告訴伺服器您再次的訪問該伺服器.cookie能為您做什...

怎麼把使用者ID和姓名寫入session

servlet中方法內可寫request.getsession setattribute oneuser user user是乙個變數,把使用者名稱賦給user 然後把user放到session中,讀出時request.getsession getattribute oneuser 我在做乙個j a...