cookei和session的區別

2021-09-02 16:22:35 字數 1592 閱讀 4527

在我們瀏覽**時,web 伺服器會先送一小小資料放在你的計算機上,cookie 會幫你在**上所打的文字或是一些選擇都紀錄下來。

當下次你再光臨同乙個**,web 伺服器會先看看有沒有它上次留下的 cookie 資料,有的話,就會依據 cookie裡的內容來判斷使用者,送出特定的網頁內容給你。

cookie 的使用很普遍,許多有提供個人化服務的**,都是利用 cookie來辨認使用者,以方便送出使用者量身定做的內容,像是 web 介面的免費 email **,都要用到 cookie。

就是我們平時關機後再開機開啟瀏覽器時以前瀏覽過的網頁會開啟,在我們想要繼續瀏覽之前查詢的東西時非常方便。

ookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。

由於採用伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於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傳遞歸伺服器。 經常被使用的一種技術叫做url重寫,就是把session id直接附加在url路徑的後面。還有一種技術叫做表單隱藏字段。就是伺服器會自動修改表單,新增乙個隱藏字段,以便在表單提交時能夠把session id傳遞歸伺服器。

url重寫就是首先獲得乙個進入的url請求然後把它重新寫成**可以處理的另乙個url的過程。

在我看來,cookei是在表面上一點,別人能夠更改,不占用伺服器的效能。session是在客戶端,安全性更高,但是會占用伺服器的效能。

cookie 和session 的區別:

1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。

2、cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙

​ 考慮到安全應當使用session。

3、session會在一定時間內儲存在伺服器上。當訪問增多,會比較占用你伺服器的效能

​ 考慮到減輕伺服器效能方面,應當使用cookie。

4、單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie。

所以個人建議:

將登陸資訊等重要資訊存放為session

其他資訊如果需要保留,可以放在cookie中

Token ,Cookie和Session的區別

cookie 是乙個非常具體的東西,指的就是瀏覽器裡面能永久儲存的一種資料,僅僅是瀏覽器實現的一種資料儲存功能。cookie由伺服器生成,傳送給瀏覽器,瀏覽器把cookie以kv形式儲存到某個目錄下的文字檔案內,下一次請求同一 時會把該cookie傳送給伺服器。由於cookie是存在客戶端上的,所以...

Token ,Cookie和Session的區別

在做介面測試時,經常會碰到請求引數為token的型別,但是可能大部分測試人員對token,cookie,session的區別還是一知半解。為此我查閱大量的資料做了如下總結。此篇文章也許是最全最通俗的關於token cookie和session的區別的文章,好好揣摩文章的每乙個字,也許你會有更深的理解...

Token ,Cookie和Session的區別

在做介面測試時,經常會碰到請求引數為token的型別,但是可能大部分測試人員對token,cookie,session的區別還是一知半解。為此我查閱大量的資料做了如下總結。此篇文章也許是最全最通俗的關於token cookie和session的區別的文章,好好揣摩文章的每乙個字,也許你會有更深的理解...