在**中,http請求是無狀態的。也就是說即使第一次和伺服器連線後並且登入成功後,第二次請求伺服器依然不能知道當前請求是哪個使用者。cookie的出現就是為了解決這個問題,第一次登入後伺服器返回一些資料(cookie)給瀏覽器,然後瀏覽器儲存在本地,當該使用者傳送第二次請求的時候,就會自動的把上次請求儲存的cookie資料自動的攜帶給伺服器,伺服器通過瀏覽器攜帶的資料就能判斷當前使用者是哪個了。cookie儲存的資料量有限,不同的瀏覽器有不同的儲存大小,但一般不超過4kb。因此使用cookie只能儲存一些小量的資料。
用法:
from flask import flask,request,make_response
#讀取'/data'
)def
data()
: username=request.cookies
return
'data'
#儲存'/index'
)def
index()
: ret=make_response(
'ok'
) ret.set_cookie(
'username'
,'age'
)return ret
if __name__ ==
'__main__'
:true
,port=
5001
)
session和cookie的作用有點類似,都是為了儲存使用者相關的資訊。不同的是,cookie是儲存在本地瀏覽器,而session儲存在伺服器。儲存在伺服器的資料會更加的安全,不容易被竊取。但儲存在伺服器也有一定的弊端,就是會占用伺服器的資源,但現在伺服器已經發展至今,一些session資訊還是綽綽有餘的。
#讀取session
'/getdata'
)def
get():
(request)
(request.cookies)
(request.cookies[
'session'])
return
'data'
#儲存session
'/index'
,methods=
['post'
,'get'])
defindex()
: session[
'name']=
'小虎'
return
'index'
if __name__ ==
'__main__'
:true
,port=
5001
)(1)cookie以文字檔案格式儲存在瀏覽器中,而session儲存在服務端它儲存了限制資料量。它只允許4kb它沒有在cookie中儲存多個變數。
(2)cookie的儲存限制了資料量,只允許4kb,而session是無限量的
(3)我們可以輕鬆訪問cookie值但是我們無法輕鬆訪問會話值,因此它更安全
(4)設定cookie時間可以使cookie過期。但是使用session-destory(),我們將會銷毀會話。
總結:如果我們需要經常登入乙個站點時,最好用cookie來儲存資訊,要不然每次登陸都特別麻煩,如果對於需要安全性高的站點以及控制資料的能力時需要用會話效果更佳,當然我們也可以結合兩者,使**按照我們的想法進行執行。
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機制採用的是在伺服器端保持狀態的方案。同時我...