這個話題無論是系統運維還是PHP開發人員面試時會經常遇到,所以這裡也進行一些總結和歸納,session和cookie的具體理論網上比較大,大家googel下均可;系統運維注意區分下session(會話)保持和session共享的概念。
其具體區別昭下:
1、cookie資料存放在客戶的瀏覽器上,不能看到session,session資料放在伺服器上,能看到cookie。
2、cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session,所以將登陸資訊等重要資訊存放為session,其他資訊如果需要保留,可以放在COOKIE中。
3、session根據瀏覽器程式存在而存在,而cookie的生存時間可以設定和調整。
4、session必須藉助cookie。
5、如果要解決負載均衡中的session同步(共享)的問題,其實有很多解決方案,例如ip_hash、memcached、nginx_sticky_module模組,nginx_sticky_module模組需要瀏覽器支援cookie的,ip_hash通過線上環境觀察,如果是2臺Web應用伺服器線上的話,短期內客戶端請求訪問量可能不是太平均,但如果以月為單位會發現,其實2臺Web應用伺服器的請求數基本是平均的。