您好,登錄后才能下訂單哦!
這篇文章主要介紹“python中的cookie跟session有什么區別”,在日常操作中,相信很多人在python中的cookie跟session有什么區別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python中的cookie跟session有什么區別”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
cookie和session 有什么區別?
1、cookie 數據存放在客戶的瀏覽器上,session 數據放在服務器上。
2、cookie 不是很安全,別人可以分析存放在本地的 cookie 并進行 cookie 欺騙,考慮到安全應當使用 session。
3、session 會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用cookie。
4、單個 cookie 保存的數據不能超過 4K,很多瀏覽器都限制一個站點最多保存 20 個 cookie。
5、可以考慮將登陸信息等重要信息存放為 session,其他信息如果需要保留,可以放在 cookie 中。
什么是 cookie,session 有什么區別?
1、cookie 數據存放在客戶的瀏覽器上,session 數據放在服務器上。
2、cookie 不是很安全,別人可以分析存放在本地的 cookie 并進行 cookie 欺騙,考慮到安全應當使用 session。
3、session 會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用cookie。
4、單個 cookie 保存的數據不能超過 4K,很多瀏覽器都限制一個站點最多保存 20 個 cookie。
5、可以考慮將登陸信息等重要信息存放為 session,其他信息如果需要保留,可以放在 cookie 中。
關于Cookie
一、什么是Cookie
Cookie是HTTP協議的規范之一,它是服務器和客戶端之間傳輸的小數據。
首先由服務器通過響應頭把Cookie傳輸給客戶端,客戶端會將Cookie保存起來。
當客戶端再次請求同一服務器時,客戶端會在請求頭中添加該服務器保存的Cookie,發送給服務器。
Cookie就是服務器保存在客戶端的數據!
Cookie就是一個鍵值對!!!
二、 Cookie規范
Cookie通過請求頭和響應頭在服務器與客戶端之間傳輸;
Cookie大小限制在4KB之內;
一臺服務器在一個客戶端最多保存20個Cookie;
一個瀏覽器最多可以保存300個Cookie;
雖然Cookie規范是如此,但在今天,瀏覽器廠商的競爭異常激烈,所以多少會超出Cookie規則的限制。但也不會超出過多!
關于Session
一、什么是session
在WEB開發中,服務器可以為每個用戶瀏覽器創建一個會話對象(session對象),注意:一個瀏覽器獨占一個session對象(默認情況下)。因此,在需要保存用戶數據時,服務器程序可以把用戶數據寫到用戶瀏覽器獨占的session中,當用戶使用瀏覽器訪問其它程序時,其它程序可以從用戶的session中取出該用戶的數據,為用戶服務。
二、 session的原理
session是依賴Cookie實現的。session是服務器端對象
當用戶第一次使用session時(表示第一次請求服務器),服務器會創建session,并創建一個Cookie,在Cookie中保存了session的id,發送給客戶端。這樣客戶端就有了自己session的id了。但這個Cookie只在瀏覽器內存中存在,也就是說,在關閉瀏覽器窗口后,Cookie就會丟失,也就丟失了sessionId。
當用戶第二次訪問服務器時,會在請求中把保存了sessionId的Cookie發送給服務器,服務器通過sessionId查找session對象,然后給使用。也就是說,只要瀏覽器容器不關閉,無論訪問服務器多少次,使用的都是同一個session對象。這樣也就可以讓多個請求共享同一個session了。
當用戶關閉了瀏覽器窗口后,再打開瀏覽器訪問服務器,這時請求中沒有了sessionId,那么服務器會創建一個session,再把sessionId通過Cookie保存到瀏覽器中,也是一個新的會話開始了。原來的session會因為長時間無法訪問而失效。
當用戶打開某個服務器頁面長時間沒動作時,這樣session會超時失效,當用戶再有活動時,服務器通過用戶提供的sessionId已經找不到session對象了,那么服務器還是會創建一個新的session對象,再把新的sessionId保存到客戶端。這也是一個新的會話開始了。
三、session與瀏覽器
session對象是保存在服務器端的,而sessionId是通過Cookie保存在客戶端的。
因為Cookie不能在多個瀏覽器中共享,所以session也不能在多個瀏覽器中共享。也就是說,使用IE登錄后,再使用FireFox訪問服務器還是沒有登錄的狀態。
而且同時打開多個相同瀏覽器的窗口,是在使用同一session。如果你使用的是老瀏覽器,例如IE6,那么就會每個窗口一個session。
四、Session和Cookie的主要區別
Cookie是把用戶的數據寫給用戶的瀏覽器。
Session技術把用戶的數據寫到用戶獨占的session中。
Session對象由服務器創建,開發人員可以調用request對象的getSession方法得到session對象。
到此,關于“python中的cookie跟session有什么區別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。