php中session和cookie區別是:1、cookie是通過擴充套件http協定實現的,而session是一種類似雜湊表的形式儲存資訊;2、cookie是儲存在【用戶端】的,而session是儲存在【伺服器端】的。
php中session和cookie區別是:
具體來說cookie是儲存在「用戶端」的,而session是儲存在「伺服器端」的
一、cookie
是通過擴充套件http協定實現的
cookie 主要包括 :名字,值,過期時間,路徑和域;
如果cookie不設定生命週期,則以瀏覽器關閉而關閉,這種cookie一般儲存在記憶體而不是硬碟上.若設定了生命週期則相反,不隨瀏覽器的關閉而消失,這些cookie仍然有效直到超過設定的過 期 時間。
二、session
一種類似雜湊表的形式儲存資訊,
當程式需要為某個用戶端的請求建立一個session時,伺服器首先檢查這個用戶端的請求裡是否已包含了一個session標識(稱為session id
)。
如果已包含則說明以前已經為此用戶端建立過session,伺服器就按照session id把這個session檢索出來使用(檢索不到,會新建一個),如果用戶端請求不包含session id,則為此用戶端建立一個session並且生成一個與此session相關聯的session id,session id的值應該是一個既不會重複,又不容易被找到規律以仿造的字串,這個session id將被在本次響應中返回給用戶端儲存。
儲存這個session id的方式可以採用cookie,這樣在互動過程中瀏覽器可以自動的按照規則把這個標識傳送給伺服器。一般這個cookie的名字都是類似於SEEESIONID。
但cookie可以被人為的禁止,則必須有其他機制以便在cookie被禁止時仍然能夠把session id傳遞回伺服器。
優缺點:
1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。
2、cookie不是很安全,別人可以分析存放在原生的COOKIE並進行COOKIE欺騙
考慮到安全應當使用session。
3、session會在一定時間內儲存在伺服器上。當存取增多,會比較佔用你伺服器的效能
考慮到減輕伺服器效能方面,應當使用COOKIE。
4、單個cookie儲存的資料不能超過4K,很多瀏覽器都限制一個站點最多儲存20個cookie。
5、所以個人建議:
將登陸資訊等重要資訊存放為SESSION
其他資訊如果需要保留,可以放在COOKIE中
以上就是php中session和cookie區別是什麼?的詳細內容,更多請關注TW511.COM其它相關文章!