cookies和session區別


session原理:
1、session是保存在服務器端,理論上是沒有是沒有限制,只要你的內存夠大
 
2、瀏覽器第一次訪問服務器時會創建一個session對象並返回一個JSESSIONID=ID的值,
   創建一個Cookie對象key為JSSIONID,value為ID的值,將這個Cookie寫回瀏覽器
 
3、瀏覽器在第二次訪問服務器的時候攜帶Cookie信息JSESSIONID=ID的值,如果該JSESSIONID的session已經銷毀,
   那么會重新創建一個新的session再返回一個新的JSESSIONID通過Cookie返回到瀏覽器
 
4、針對一個web項目,一個瀏覽器是共享一個session,就算有兩個web項目部署在同一個服務器上,針對兩個項目的session是不同的
   如:你在tomcat上同時部署了兩個web項目,分別是web1、web2。當你在一個瀏覽器上同時訪問web1時創建的session是A1,訪問web2時創建的session是A2。
       后面你再多次訪問web1使用的session還是A1,多次訪問web2時使用session就是A2
 
5、session是基於Cookie技術實現,重啟瀏覽器后再次訪問原有的連接依然會創建一個新的session,
   因為Cookie在關閉瀏覽器后就會消失,但是原來服務器的Session還在,只有等到了銷毀的時間會自動銷毀
 
6、如果瀏覽器端禁用了Cookie,那么每次訪問都會創建一個新的Session,但是我們可以通過服務器端程序重寫URL即可,如果頁面多連接多,會增加不必要的工作量,
   那可以強制讓你用戶開啟接收Cookie后再讓其訪問即可。
 
    大白話:當你一次訪問服務器的時候,服務器會在內存中開辟一塊空間,返回唯一一把打開該空間的鑰匙,再把這把鑰匙返回到瀏覽器。
            當你第二次訪問的時候瀏覽器會攜帶這把鑰匙到服務器端打開對應的空間,如果該空間已經銷毀又重新返回開辟一塊新的空間返回新的鑰匙到瀏覽器。
 


   說說Cookie和Session的區別?
   
   1、Cookie和Session都是會話技術,Cookie是運行在客戶端,Session是運行在服務器端。
   
   2、Cookie有大小限制以及瀏覽器在存cookie的個數也有限制,Session是沒有大小限制和服務器的內存大小有關。
 
   3、Cookie有安全隱患,通過攔截或本地文件找得到你的cookie后可以進行攻擊。
 
   4、Session是保存在服務器端上會存在一段時間才會消失,如果session過多會增加服務器的壓力。


免責聲明!

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



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