介紹會話技術、Cookie的API、詳解、應用

      網友投稿 926 2025-03-29

      什么是會話技術


      基本概念 : 指用戶開一個瀏覽器,訪問一個網站 , 只要不關閉該瀏覽器,不管該用戶點擊多少個超鏈接,訪問多少資源,直到用戶關閉瀏覽器,整個這個過程我們稱為一次會話 .

      為什么我們要使用會話技術?

      會話跟蹤技術可以解決我們很多很多問題。

      ( 1 ) 在論壇登陸的時候, 很多時候會有一個小框框問你是否要自動登陸,當你下次登陸的時候就不用輸入密碼了

      (2) 根據我以前瀏覽過的商品,猜我喜歡什么商品

      會話跟蹤技術有 Cookie 和 Session , Cookie 技術是先出現的 。我們先講 Cookie 技術吧。

      什么是 Cookie

      Cookie 是由 W3C 組織提出,最早由 netscape 社區發展的一種機制

      (1)網頁之間的 交互是通過HTTP協議傳輸數據的, 而Http協議是 無狀態的協議 。無狀態的協議是什么意思呢? 一旦數據提交完后,瀏覽器和服務器的連接就會關閉,再次交互的時候需要重新建立新的連接 。

      (2)服務器無法確認用戶的信息,于是乎,W3C就提出了: 給每一個用戶都發一個通行證,無論 誰訪問 的時候都需要攜帶通行證,這樣服務器就可以從通行證上確認用戶的信息 。通行證就是Cookie

      Cookie 的流程:瀏覽器訪問服務器, 如果服務器需要記錄該用戶的狀態,就使用 response 向瀏覽器發送一個 Cookie ,瀏覽器會把 Cookie 保存起來。當 瀏覽器再次訪問服務器的時候,瀏覽器會把請求的網址連同 Cookie 一同交給服務器 。

      Cookie API

      ( 1 ) Cookie 類用于 創建一個 Cookie 對象

      ( 2 ) response 接口中定義了一個 addCookie 方法,用于在響應 頭增加 一個相應的 Set-Cookie 頭字段

      ( 3 ) request 接口中定義了一個 getCookies 方法,它用于獲取客戶端提交的 Cookie

      常用的 Cookie 方法:

      ( 1 ) public Cookie(String name,String value)

      (2) setValue 與 getValue 方法

      (3) setMaxAge 與 getMaxAge 方法

      (4) setPath 與 getPath 方法

      (5) setDomain 與 getDomain 方法

      (6) getName 方法

      簡單使用Cookie

      創建Cookie對象,發送Cookie給瀏覽器

      Cookie細節

      Cookie不可跨域名性

      (1)很多人在初學的時候可能有一個疑問:在訪問Servlet的時候瀏覽器 是不是把所有的Cookie都帶過去給服務器 , 會不會修改了別的網站的Cookie

      (2) 答案是否定的。Cookie具有不可跨域名性。瀏覽器判斷 一個網站是否能操作另一個網站的Cookie的依據是域名 。所以一般來說, 當我訪問 baidu 的時候,瀏覽器只會把 baidu 頒發的Cookie帶過去,而不會帶上google的Cookie。

      Cookie保存中文

      中文屬于Unicode字符,英文數據ASCII字符,中文占4個字符或者3個字符,英文占2個字符。

      解決: Cookie使用Unicode字符時需要對Unicode字符進行編碼。

      Cookie保存在硬盤的中文數據是經過編碼的,那么我們在 取出Cookie的時候要對中文數據進行解碼

      Cookie的有效期

      介紹會話技術、Cookie的API、詳解、應用

      Cookie 的有效期是通過 setMaxAge () 來設置的 。

      ? 如果 MaxAge 為 正數 , 瀏覽器會把Cookie寫到硬盤中,只要還在 MaxAge 秒 之前,登陸網站時該Cookie就有效 【不論關閉了瀏覽器還是電腦】

      ? 如果 MaxAge 為 負數 , Cookie是臨時性的,僅在本瀏覽器內有效 ,關閉瀏覽器Cookie就失效了,Cookie不會寫到硬盤中。Cookie默認值就是-1。 這也就為什么在我第一個例子中,如果我沒設置Cookie的有效期,在硬盤中就找不到對應的文件。

      ? 如果 MaxAge 為 0 ,則表示 刪除該Cookie 。Cookie機制沒有提供刪除Cookie對應的方法,把 MaxAge 設置為0等同于刪除Cookie

      Cookie的修改和刪除

      ? 上面我們已經知道了Cookie機制沒有提供刪除Cookie的方法。其實細心點我們可以發現,Cookie機制也沒有提供修改Cookie的方法。那么我們 怎么修改Cookie的值呢 ?

      ? Cookie存儲的方式 類似于Map集合 ,如下圖所示

      ? Cookie的名稱相同,通過response添加到瀏覽器中,會覆蓋原來的Cookie 。

      ? 以country為名保存的是%E4%B8%AD%E5%9B%BD,下面我 再以country為名, 把值改變 一下 。

      ? 現在我要刪除該Cookie, 把 MaxAge 設置為0,并添加到瀏覽器中即可

      Cookie的域名

      Cookie 的 domain 屬性決定運行訪問 Cookie 的域名。 domain 的值規定為 “. 域名 ”

      C ookie的隱私安全機制決定Cookie是不可跨域名的。也就是說www.baidu.com和www.google.com之間的Cookie是互不交接的。即使是同一級域名,不同二級域名也不能交接,也就是說:www.goole.com和www.image.goole.com的Cookie也不能訪問

      現在我希望 一級域名相同的網頁Cookie之間可以相互訪問。也就是說www.image.zhongfucheng.com可以獲取到www.zhongfucheng.com的Cookie 就需要使用到domain方法。

      Cookie的路徑

      Cookie 的 path 屬性決定允許訪問 Cookie 的路徑

      Cookie的安全屬性

      (1)HTTP協議不僅僅是無狀態的,而且是不安全的!如果不希望Cookie在非安全協議中傳輸,可以 設置Cookie的secure屬性為true,瀏覽器只會在HTTPS和SSL等安全協議中傳輸該Cookie 。

      (2) 當然了,設置secure屬性不會將Cookie的內容加密。如果想要保證安全,最好使用md5算法加密

      HTTP 網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:訂單流程處理(訂單處理過程)
      下一篇:wps中Excel表格怎么編輯數學公式(wps怎樣編輯數學公式)
      相關文章
      亚洲黄色网址在线观看| 久久久久久久综合日本亚洲| 亚洲视频免费在线看| 国产亚洲美女精品久久久久狼 | 亚洲精品第一国产综合精品99| 亚洲大尺度无码无码专线一区| 亚洲国产系列一区二区三区| 亚洲午夜电影在线观看| 亚洲一区二区久久| 2020久久精品亚洲热综合一本| 亚洲av永久无码精品三区在线4| 亚洲成人高清在线观看| 亚洲成a人不卡在线观看| 亚洲国产精品成人精品软件| 亚洲日韩中文字幕天堂不卡| 亚洲日本视频在线观看| 亚洲免费在线视频播放| 亚洲一区二区三区无码国产| 亚洲国产精品久久人人爱| 亚洲一区二区久久| 亚洲欧美日本韩国| 亚洲爆乳无码专区www| 亚洲av无码成人精品区一本二本| 亚洲日韩在线中文字幕综合| gogo全球高清大胆亚洲| 国产性爱在线观看亚洲黄色一级片 | 亚洲AV色欲色欲WWW| 国产亚洲蜜芽精品久久| 亚洲国产精品成人网址天堂| 国产日产亚洲系列最新| 国产成人亚洲综合无码精品| 亚洲韩国—中文字幕| 亚洲精品亚洲人成在线麻豆| 国产成人亚洲精品| 亚洲AV无码一区二区乱子仑| 亚洲第一页综合图片自拍| 亚洲综合另类小说色区| 亚洲丁香色婷婷综合欲色啪| 亚洲成a人片毛片在线| 亚洲美国产亚洲AV| 亚洲国产a级视频|