cookie實際上是一小段的文字資訊。客戶端請求伺服器,如果伺服器需要記錄該使用者狀態,就使用response向客戶端瀏覽器頒發乙個cookie。客戶端會把cookie儲存起來。
1、cookie的內容主要包括:名字,值,過期時間,路徑和域。路徑與域一起構成cookie的作用範圍。
1)name 和 value 屬性由程式設定,預設值都是空引用。
2)domain屬性的預設值為當前url的網域名稱部分,不管發出這個cookie的頁面在哪個目錄下的。
3)path屬性的預設值是根目錄,即 」/」 ,不管發出這個cookie的頁面在哪個目錄下的。可以由程式設定為一定的路徑來進一步限制此cookie的作用範圍。
4)expires 屬性,這個屬性設定此cookie 的過期日期和時間。
session是另一種記錄客戶狀態的機制,不同的是cookie儲存在客戶端瀏覽器中,而session儲存在伺服器上。客戶端瀏覽器訪問伺服器的時候,伺服器把客戶端資訊以某種形式記錄
在伺服器上。這就是session。客戶端瀏覽器再次訪問時只需要從該session中查詢該客戶的狀態就可以了。
每個使用者訪問伺服器都會建立乙個session,那伺服器是怎麼標識使用者的唯一身份呢?事實上,使用者與伺服器建立連線的同時,伺服器會自動為其分配乙個sessionid。
cookie 和session 的區別:
1.session是儲存在伺服器端的,cookie是儲存在客戶端的,所以session的安全性要高於cookie。
2.session 的執行依賴 session id,而 session id 是存在 cookie 中的,也就是說,如果瀏覽器禁用了 cookie ,同時 session 也會失效(但是可以通過其它方式實現,比如在 url 中傳遞 session_id)
3.cookie分為兩大類,乙個是會話cookie和持久化cookie,他們的生命週期和瀏覽器是一致的,瀏覽器關了會話cooki也就消失了,而持久化會儲存在客戶端硬碟中。
4.單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie。
5.所以個人建議:因為session是存放在伺服器裡的,所以session裡的東西不斷增加會增加伺服器的負擔,我們會把一些重要的東西放在session裡,不太重要的放在客戶端cookie裡
將登陸資訊等重要資訊存放為session
其他資訊如果需要保留,可以放在cookie中
cookie與session的關聯
前提 cookie沒有被禁用。當用瀏覽器登入到某 伺服器時,先找對應的cookie檔案,當首次訪問是當然沒有cookie檔案,所以在請求頭部中沒有cookie的內容,即在請求頭部中沒有類似cookie jsessionid 的內容,這時當請求到達伺服器後,伺服器看請求頭中沒有jsessionid值,...
session與cookie的區別
讓我們用幾個例子來描述一下cookie和session機制之間的區別與聯絡。筆者曾經常去的一家咖啡店有喝5杯咖啡免費贈一杯咖啡的優惠,然而一次性消費5杯咖啡的機會微乎其微,這時就需要某種方式來紀錄某位顧客的消費數量。想象一下其實也無外乎下面的幾種方案 1 該店的店員很厲害,能記住每位顧客的消費數量,...
session與cookie的區別
1 session儲存在伺服器,客戶端不知道其中的資訊 cookie儲存在客戶端,伺服器能夠知道其中的資訊。2 session中儲存的是物件,cookie中儲存的是字串。3 session不能區分路徑,同乙個使用者在訪問乙個 期間,所有的session在任何乙個地方都可以訪問到。而cookie中如果...