計算機網路 session和cookie的區別

2021-07-04 14:57:29 字數 2248 閱讀 6211

具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於才伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目的,但實際上還有其他選擇。

如果不設定過期時間,則表示這個cookie

生命週期為瀏覽器會話期間

,只要關閉

瀏覽器視窗,cookie就消失了。這種生命期為

瀏覽會話期的cookie被稱為會話cookie

。會話cookie一般不儲存在硬碟上而是儲存在記憶體裡。

如果設定了過期時間,瀏覽器就會把

cookie儲存到硬

盤上,關閉後再次開啟瀏覽器,這些cookie依然有效直到超過設定的過期時間。

儲存在硬碟上的cookie可以在不同的瀏覽器程序間共享,比如兩個ie視窗。

而對於儲存在記憶體的cookie,不同的瀏覽器有不同的處理方式

。當使用者在某個**註冊後,就會收到乙個惟一使用者id的cookie。客戶後來重新連線時,這個

使用者id會自動返回,伺服器對它進行檢查,確定它是否為註冊使用者且選擇了自動登入,從而使使用者務需給出明確的使用者名稱和密碼,就可以訪問伺服器上的資源。

**可以使用cookie記錄使用者的意願。對於簡單的設定,**可以直接將頁面的設定儲存在cookie中完成定製。然而對於更複雜的定製,**只需僅將乙個惟一的識別符號傳送給使用者,由伺服器端的資料庫儲存每個識別符號對應的頁面設定。

1.建立cookie物件

2.設定最大時效

3.將cookie放入到http響應報頭

如果你建立了乙個cookie,並將他傳送到瀏覽器,預設情況下它是乙個會話級別的cookie:儲存在瀏覽器的記憶體中,使用者退出瀏覽器之後被刪除。如果你希望瀏覽器將該cookie儲存在磁碟上,則需要使用maxage,並給出乙個以秒為單位的時間。將最大時效設為0則是命令瀏覽器刪除該cookie。

傳送cookie需要使用

httpservletresponse的addcookie

方法,將cookie插入到乙個set-cookie http請 求報頭中。由於這個方法並不修改任何之前指定的set-cookie報頭,而是建立新的報頭,因此我們將這個方法稱為是addcookie,而非 setcookie。同樣要記住響應報頭必須在任何文件內容傳送到客戶端之前設定。

1.

呼叫request.getcookie

要獲取有瀏覽器傳送來的cookie,需要呼叫

httpservletrequest的getcookies方法

,這個呼叫返回cookie物件的陣列,對應由http請求中cookie報頭輸入的值。

2.對陣列進行迴圈,

呼叫每個cookie的getname方法

,直到找到感興趣的cookie為止

cookie與你的主機(域)相關,而非你的servlet或jsp頁面。因而,儘管你的servlet可能只傳送了單個cookie,你也可能會得到許多不相關的cookie。

例如:

string cookiename = 「userid」;

cookie cookies = request.getcookies();

if (cookies!=null)else

session.setattribute(「someidentifier」,value); // 使用新建立的物件覆蓋原來的老的物件

使用可變的資料結構,比如陣列、list、map或含有可寫字段的應用程式專有的資料結構。通過這種方式,除非首次分配物件,否則不需要呼叫setattribute。例如

不可更改物件因為一旦建立之後就不能更改,所以每次要修改會話中屬性的值的時候,都需要呼叫setattribute(「someidentifier」,newvalue)來代替原有的屬性的值,否則屬性的值不會被更新可更改物件因為其自身一般提供了修改自身屬性的方法,所以每次要修改會話中屬性的值的時候,只要呼叫該可更改物件的相關修改自身屬性的方法就可以了。這意味著我們就不需要呼叫setattribute方法了。

計算機網路 Cookie和Session

cookie的機制 cookie是瀏覽器 user agent 訪問一些 後,這些 存放在客戶端的一組資料,用於使 等跟蹤使用者,實現使用者自定義功能。cookie的domain和path屬性標識了這個cookie是哪乙個 傳送給瀏覽器的 cookie的expires屬性標識了cookie的有 效時...

計算機網路9 計算機網路效能

1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位時間 ...

計算機網路 計算機網路的效能

目錄 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...