PHP—session和cookie的區別和聯繫

區別

1.存放位置:session保存在服務器,cookie保存在客戶端

2.存放的形式:session是以對象的形式保存在服務器,cookie以字符串的形式保存在客戶端

3.用途:session適合做客戶的身份驗證,cookie適合保存用戶的個人設置,愛好等

4.路徑:session不能區分路徑,同一用戶在訪問一個網站期間,所有的session在任何一個地方都可以訪問到;cookie中如果設置了參數路徑,那麼同一個網站下的cookie互相訪問不到

5.安全性:cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,session較cookie更安全一些

6.大小及數量限制:單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的COOKIE不能3K。不同瀏覽器所含cookie的最大個數不同,一般30到50個;一般認爲session沒有大小限制

聯繫:

  session需要藉助cookie才能正常工作,如果客戶端完全禁止cookie,session將失效,因爲session是由應用服務器維持的一個服務端的存儲空間,用戶在連接服務器時,會由服務器生成唯一的sesssionid,用該sessionid爲標識來存取服務端的session空間。而sessionid存儲在cookie中,用戶提交頁面時會將這個sessionid提交到服務端,來存取session數據.這一過程是不用開發人員干預的,所以一旦客戶端禁用cookie,那麼session也會失效;

另外:

session會在一定時間內保存在服務器上。當訪問增多,會比較佔用你服務器的性能,如果主要考慮到減輕服務器性能方面,應當使用COOKIE,sessionid是服務器和客戶端鏈接時候隨機分配的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章