什麼是一次對話?其實很簡單,從我們打開瀏覽器,瀏覽過各種各樣的網頁後,最後到關閉瀏覽器,這中間的整個過程就叫做一次對話。
說到會話,自然而然地就談到了cookie和session,想要深入瞭解他倆,不得不瞭解他倆的工作原理。
cookie的工作原理:
作用於客戶端技術,是服務器發送給瀏覽器的一段文本,一個cookie只能標識一中信息,至少有一個信息的名稱和值。當瀏覽器再次發出請求時,會將cookie以請求頭的方式發送給服務器,服務器接受後發現兩次cookie一樣,就以爲是同一個用戶。
Cookie兩種方式:
1.存在在客服端緩存中,瀏覽器已關閉cookie就消失
2.存在在客服端的文件中,可以設置過期時間,過期時間一到就消失,但要刪除某個cookie,首要必須保證cookie名稱和值一致,路徑也要一致,再把過期時間設置爲0即可
//取得cookie Cookie cookies[]=request.getCookies(); for(int i=0;cookies!=null&&i<cookies.length;i++){ if(cookies[i].getName().equals()){ } } //給瀏覽器回送cookie Cookie cookie = new Cookie(“cookie名稱”,“cookie的值”); cookie.setMaxAge(30*24*3600);//設置過期時間 cookie.setPath("/day03");//設置cookie的路徑 response.addCookie(cookie);//用response把cookie發送出去
sessoin的工作原理:
1.瀏覽器發送請求,服務器調用request.getsession(),產生一個session對象,同時給session對象分配一個sessionid,以session對象爲值,sessionId爲鍵。
2.服務器發生響應時,將sessionid用cookie發送給瀏覽器
3.當瀏覽器再次發送請求,會將帶着sessionid的cookie發送給服務器,服務器根據cookie帶來的sessionid找到對應的session對象,從而取得session中的內容
session的銷燬:
默認情況下,30分鐘沒人用自動銷燬,不管瀏覽器打開的還是關閉的。
發現錯誤,謝謝提醒,增強你我實力!