首頁  >  文章  >  後端開發  >  php中session和cookie差別是什麼?

php中session和cookie差別是什麼?

coldplay.xixi
coldplay.xixi原創
2020-07-11 11:34:094041瀏覽

php中session和cookie區別是:1、cookie是透過擴展http協定實現的,而session是一種類似散列表的形式保存資訊;2、cookie是保存在【客戶端】的,而session是保存在【服務端】的。

php中session和cookie差別是什麼?

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程式設計從入門到精通

#

以上是php中session和cookie差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn