在**中,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
採用的就是這種方式,但是也可以替換成其他形式。
在flask中操作
cookie
,是通過
response
物件來操作,可以在
response
返回之前,通過
response.set_cookie
來設定,這個方法有以下幾個引數需要注意:
key:設定的cookie的
key。
value
:key對應的
value
。max_age
:改cookie的過期時間,如果不設定,則瀏覽器關閉後就會自動過期。
expires
:過期時間,應該是乙個datetime型別。
domain
:該cookie在哪個網域名稱中有效。一般設定子網域名稱,比如
cms.example.com
。path
:該cookie在哪個路徑下有效。
使用:獲取:request.cookies.get(key, '預設值
')設定:resp.set_cookie(key, value, max_age=整數
)刪除:resp.delete_cookie(key)
flask中的
session
是通過from flask import session
。然後新增值
key和
value
進去即可。
client side session
:flask中的
session
機制是將
session
資訊加密,然後儲存在
cookie
中。專業術語叫做
client side session
。server side session
:儲存在伺服器,客戶端儲存的時session_id(通過
cookie
完成)使用:
獲取:session.get(key, '預設值
') 設定:
session.permanent = true
session[key] = value
刪除:指定刪除
:session.pop(key, none)
清空所有
歡迎關注小婷兒的
部落格:csdn::
483766429
或聯絡作者本人
qq :
87605025
ocp培訓說明連線:
ocm培訓說明連線:
小婷兒的python正在成長中,其中還有很多不足之處,隨著學習和工作的深入,會對以往的部落格內容逐步改進和完善噠。
小婷兒的python正在成長中,其中還有很多不足之處,隨著學習和工作的深入,會對以往的部落格內容逐步改進和完善噠。
小婷兒的python正在成長中,其中還有很多不足之處,隨著學習和工作的深入,會對以往的部落格內容逐步改進和完善噠。
重要的事說三遍。。。。。。
Session和Cookie的區別
session和cookie的區別 1 儲存的位置不同 session儲存在伺服器端的記憶體中,占用伺服器資源。cookie是儲存在客戶端。可以是瀏覽器中或者是檔案中 2 儲存的時間不同 session是關閉當前會話相關瀏覽器後自動清空。cookie是根據過期時間而會有不同。3 安全性不同 sess...
cookie和session的區別
一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於在伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目...
cookie和session的區別
分類 計算機網路 2011 10 21 10 43 4785人閱讀收藏 舉報 session 瀏覽器伺服器 servlet url儲存 一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我...