我認爲他們是一樣的東西,但我的老闆說這是不對的。有人可以解釋這種差異嗎?django中的cookie和會話有什麼區別?
16
A
回答
18
Cookie是客戶端瀏覽器上的一個東西,僅僅是對Session
的引用,默認情況下它會存儲在數據庫中。
該cookie存儲一個隨機ID並且不存儲任何數據本身。會話使用cookie中的值來確定數據庫中哪些Session
屬於當前瀏覽器。
這與直接在cookie上寫入信息非常不同。
實施例:
httpresponse.set_cookie('logged_in_status', 'True')
# terrible idea: this cookie data is editable and lives on your client's computer
request.session['logged_in_status'] = True
# good idea: this data is not accessible from outside. It's in your database.
6
Cookie是不一個Django或Python特定的技術。 Cookie是在客戶瀏覽器中存儲少量狀態的一種方式。它被用來補充(或根據你的觀點進行破解)HTTP,這是一種無狀態協議。這裏有各種各樣的限制,其他域不能讀取你的cookies,你只能存儲幾k個數據(只取決於瀏覽器!)等等等等。
一個cookie可以用來存儲會話密鑰。會話是存儲在服務器端的用戶狀態的集合。會話密鑰被傳回到服務器,這使您可以查找該會話的狀態。大多數Web框架(不僅僅是Django)都會內置某種會話概念。這使您可以將服務器端狀態添加到HTTP對話中。
相關問題
- 1. ServiceStack會話中ss-id和ss-pid有什麼區別?
- 2. 在IIS中,「應用程序」和「會話」有什麼區別?
- 3. django OneToOneField和ForeignKey有什麼區別?
- 4. Django和Joomla有什麼區別?
- 5. 有什麼區別`和$(Bash中有什麼區別?
- 6. html cookie中的key和value有什麼區別?
- 7. 從DataSource getconnection()和Mysql會話連接有什麼區別?
- 8. 春季請求和會話範圍有什麼區別?
- 9. ViewState,應用程序和頁面會話有什麼區別?
- 10. Hibernate會話方法saveOrUpdate()和merge()之間有什麼區別?
- 11. 什麼是無Cookie會話?
- 12. 在php中session和cookie有什麼區別?
- 13. 在Java中,Hibernate會話,JSP/Servlet會話和會話事務管理之間有什麼區別
- 14. Rails v2.3:會話和Cookie之間的區別
- 15. ==和===有什麼區別?
- 16. ==和===有什麼區別?
- 17. 有什麼區別? :和||
- 18. ==和===有什麼區別?
- 19. '=='和'==='有什麼區別?
- 20. `&`和`ref`有什麼區別?
- 21. 有什麼區別:。!和:r!?
- 22. | 0和~~有什麼區別?
- 23. Appender和〜有什麼區別?
- 24. django html_message和發送郵件中的郵件有什麼區別
- 25. Django中的b/w authenticate()和login()有什麼區別?
- 26. python中的{}和[]有什麼區別?
- 27. 列表中的:::和++有什麼區別?
- 28. SQL中的「LIKE」和「=」有什麼區別?
- 29. console.log中的和+有什麼區別?
- 30. Perl中的'eq'和'=〜'有什麼區別?
檢查[this](http://stackoverflow.com/questions/6353703/session-cookie-some-misunderstandings) – Jibin 2011-06-21 05:29:09
'SessionStorage'和'CookieStorage'在這裏有什麼區別:https://docs.djangoproject。 com/en/dev/ref/contrib/messages/#configure-the-message-engine - 他們不是替代方式來保存數據。但是你說cookie不會自己存儲數據。 – Medorator 2014-06-13 17:13:24
@buffer,默認情況下,SessionStorage中的cookie包含數據庫中數據存儲的ID。 – 2014-06-13 18:05:03