tornado中的cookie


1. cookie與session的區別:

Session:通過在服務器端記錄用戶信息從而來確認用戶身份,保存在服務器上,每個用戶會話都有一個對應的session

Cookie:通過在客戶端記錄信息確認身份,客戶端瀏覽器會把Cookie保存起來,當再次訪問的時候,把該Cookie一同提交給服務器,就可以進行用戶的辨認

2.set_secure_cookie()

通過查看該方法,我們可以發現,其實該方法就是對第一個set_cookie的進一步封裝,通過注釋可以知道:要使用這個方法對cookie進行設置,必須在項目的Application中,定義一個“cookie_secret” --> 這個cookie_secret應該是隨機的,並且長字符串,當然你可以設置成你自己定義的固定的字符串。然后還有一個參數expires_days特別需要值得注意,這里如果我們不進行設置的話,cookie的過期時間將為30天,當然,這個跟get_secure_cookie中的max_age_day是相互獨立的。

接下來,我們通過源碼分析后,我們想對cookie設置過期時間,只需要在set_secure_cookie()函數中,將expires_day進行重寫就可以了

1. 這個設置過期時間的參數 expires_day,如果想以秒作為過期單位的話,應該這樣寫:expires_day = time.time() + 對應的秒數(實際在使用的時候,發現此種方式不可行,對此用了另一種方式:

self.set_secure_cookie('user_id', '1', expires=time.time()+900)

2. 如果想設置,關閉瀏覽器就清楚cookie的話,應該這樣設置,將過期時間重寫置空:expires_day = None


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM