溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中的cookie跟session有什么區(qū)別

發(fā)布時間:2021-08-24 12:01:40 來源:億速云 閱讀:154 作者:chen 欄目:編程語言

這篇文章主要介紹“python中的cookie跟session有什么區(qū)別”,在日常操作中,相信很多人在python中的cookie跟session有什么區(qū)別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python中的cookie跟session有什么區(qū)別”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

      cookie和session 有什么區(qū)別?


  1、cookie 數據存放在客戶的瀏覽器上,session 數據放在服務器上。


  2、cookie 不是很安全,別人可以分析存放在本地的 cookie 并進行 cookie 欺騙,考慮到安全應當使用 session。


  3、session 會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用cookie。


  4、單個 cookie 保存的數據不能超過 4K,很多瀏覽器都限制一個站點最多保存 20 個 cookie。


  5、可以考慮將登陸信息等重要信息存放為 session,其他信息如果需要保留,可以放在 cookie 中。

  什么是 cookie,session 有什么區(qū)別?


  1、cookie 數據存放在客戶的瀏覽器上,session 數據放在服務器上。


  2、cookie 不是很安全,別人可以分析存放在本地的 cookie 并進行 cookie 欺騙,考慮到安全應當使用 session。


  3、session 會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用cookie。


  4、單個 cookie 保存的數據不能超過 4K,很多瀏覽器都限制一個站點最多保存 20 個 cookie。


  5、可以考慮將登陸信息等重要信息存放為 session,其他信息如果需要保留,可以放在 cookie 中。


  關于Cookie


  一、什么是Cookie


  Cookie是HTTP協(xié)議的規(guī)范之一,它是服務器和客戶端之間傳輸的小數據。


  首先由服務器通過響應頭把Cookie傳輸給客戶端,客戶端會將Cookie保存起來。


  當客戶端再次請求同一服務器時,客戶端會在請求頭中添加該服務器保存的Cookie,發(fā)送給服務器。


  Cookie就是服務器保存在客戶端的數據!


  Cookie就是一個鍵值對?。?!


  二、 Cookie規(guī)范


  Cookie通過請求頭和響應頭在服務器與客戶端之間傳輸;


  Cookie大小限制在4KB之內;


  一臺服務器在一個客戶端最多保存20個Cookie;


  一個瀏覽器最多可以保存300個Cookie;


  雖然Cookie規(guī)范是如此,但在今天,瀏覽器廠商的競爭異常激烈,所以多少會超出Cookie規(guī)則的限制。但也不會超出過多!


  關于Session


  一、什么是session


  在WEB開發(fā)中,服務器可以為每個用戶瀏覽器創(chuàng)建一個會話對象(session對象),注意:一個瀏覽器獨占一個session對象(默認情況下)。因此,在需要保存用戶數據時,服務器程序可以把用戶數據寫到用戶瀏覽器獨占的session中,當用戶使用瀏覽器訪問其它程序時,其它程序可以從用戶的session中取出該用戶的數據,為用戶服務。


  二、 session的原理


  session是依賴Cookie實現的。session是服務器端對象


  當用戶第一次使用session時(表示第一次請求服務器),服務器會創(chuàng)建session,并創(chuàng)建一個Cookie,在Cookie中保存了session的id,發(fā)送給客戶端。這樣客戶端就有了自己session的id了。但這個Cookie只在瀏覽器內存中存在,也就是說,在關閉瀏覽器窗口后,Cookie就會丟失,也就丟失了sessionId。


  當用戶第二次訪問服務器時,會在請求中把保存了sessionId的Cookie發(fā)送給服務器,服務器通過sessionId查找session對象,然后給使用。也就是說,只要瀏覽器容器不關閉,無論訪問服務器多少次,使用的都是同一個session對象。這樣也就可以讓多個請求共享同一個session了。


  當用戶關閉了瀏覽器窗口后,再打開瀏覽器訪問服務器,這時請求中沒有了sessionId,那么服務器會創(chuàng)建一個session,再把sessionId通過Cookie保存到瀏覽器中,也是一個新的會話開始了。原來的session會因為長時間無法訪問而失效。


  當用戶打開某個服務器頁面長時間沒動作時,這樣session會超時失效,當用戶再有活動時,服務器通過用戶提供的sessionId已經找不到session對象了,那么服務器還是會創(chuàng)建一個新的session對象,再把新的sessionId保存到客戶端。這也是一個新的會話開始了。


  三、session與瀏覽器


  session對象是保存在服務器端的,而sessionId是通過Cookie保存在客戶端的。


  因為Cookie不能在多個瀏覽器中共享,所以session也不能在多個瀏覽器中共享。也就是說,使用IE登錄后,再使用FireFox訪問服務器還是沒有登錄的狀態(tài)。


  而且同時打開多個相同瀏覽器的窗口,是在使用同一session。如果你使用的是老瀏覽器,例如IE6,那么就會每個窗口一個session。


  四、Session和Cookie的主要區(qū)別


  Cookie是把用戶的數據寫給用戶的瀏覽器。


  Session技術把用戶的數據寫到用戶獨占的session中。


  Session對象由服務器創(chuàng)建,開發(fā)人員可以調用request對象的getSession方法得到session對象。

到此,關于“python中的cookie跟session有什么區(qū)別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI