網路程式設計 cookie 和 session 的區別

2021-09-30 01:54:34 字數 862 閱讀 7257

在**中,http請求是無狀態的。也就是說即使第一次和伺服器連線後並且登入成功後,第二次請求伺服器依然不能知道當前請求是哪個使用者。cookie的出現就是為了解決這個問題,第一次登入後伺服器返回一些資料(cookie)給瀏覽器,然後瀏覽器儲存在本地,當該使用者傳送第二次請求的時候,就會自動的把上次請求儲存的cookie資料自動的攜帶給伺服器,伺服器通過瀏覽器攜帶的資料就能判斷當前使用者是哪個了。cookie儲存的資料量有限,不同的瀏覽器有不同的儲存大小,但一般不超過4kb。因此使用cookie只能儲存一些小量的資料。

session和cookie的作用有點類似,都是為了儲存使用者相關的資訊。不同的是,cookie是儲存在本地瀏覽器,而session儲存在伺服器儲存在伺服器的資料會更加的安全,不容易被竊取。但儲存在伺服器也有一定的弊端,就是會占用伺服器的資源,但現在伺服器已經發展至今,一些session資訊還是綽綽有餘的。

web開發發展至今,cookie和session的使用已經出現了一些非常成熟的方案。在如今的市場或者企業裡,一般有兩種儲存方式:

1、儲存在服務端:通過cookie儲存乙個session_id,然後具體的資料則是儲存在session中。如果使用者已經登入,則伺服器會在cookie中儲存乙個session_id,下次再次請求的時候,會把該session_id攜帶上來,伺服器根據session_id在session庫中獲取使用者的session資料。就能知道該使用者到底是誰,以及之前儲存的一些狀態資訊。這種專業術語叫做server side session。

2、將session資料加密,然後儲存在cookie中。這種專業術語叫做client side session。flask採用的就是這種方式,但是也可以替換成其他形式。

Python爬蟲之Cookie和Session

關於cookie和session估計很多程式設計師面試的時候都會被問到,這兩個概念在寫web以及爬蟲中都會涉及,並且兩者可能很多人直接回答也不好說的特別清楚,所以整理這樣一篇文章,也幫助自己加深理解 其實簡單的說就是當使用者通過http協議訪問乙個伺服器的時候,這個伺服器會將一些name value...

Django框架之Cookie和Session元件

cookie是伺服器傳送到使用者瀏覽器並儲存在本地的一小塊資料,它會在瀏覽器下次向同一伺服器再發起請求時被攜帶併發送到伺服器上。通常,它用於告知服務端兩個請求是否來自同一瀏覽器,如保持使用者的登入狀態。cookie 使基於無狀態的 http 協議記錄穩定的狀態資訊成為了可能。1 會話狀態管理 如使用...

Django之元件 cookie與session

cookie 由伺服器產生,存放在客戶端瀏覽器上的鍵值對。設定值 取值 request.cookies.get key request.cookies key 刪除值 session 儲存在伺服器上的鍵值對。設定值 request.session key value request.session ...