1. 程式人生 > >Cookie的路徑和設定Cookie的缺陷的詳細講解

Cookie的路徑和設定Cookie的缺陷的詳細講解

Cookie的domain
  Cookie的path是在同一主機中指定共享Cookie,如果主機不同那麼就一定不能共享Cookie,無論path是什麼。
  如果希望不同的二級域名中可以共享Cookie,那麼就要設定Cookie的domain了
  例如:music.baidu.com、map.baidu.com、tieba.baidu.com,它們的域名不同,但百度希望它們之間可以共享Cookie,那麼就要設定domain了。

  1). 設定Cookie的path為“/”,例如:cookie.setPath("/");表示在整個baidun.com中都是能夠傳遞。
  2). 設定Cookie的domain,例如:cookie.setDomain(".baidu.com"),其中domain中沒有指定域名字首!

  在music.baidu.com主機中的某個專案中儲存了Cookie
  在map.baidu.com主機中某個專案中獲取Cookie

  當然這需要配置兩個虛擬主機才行。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Servlet1(“/cookie/login”)                              Servlet(“/abc/list”)

此時Servlet   中Cookie是不會發送請求給Servlet2 的因為路徑不同。

此時的Servlet只能把Cookie傳遞給/Cookie/打頭的資源。

Cookie缺陷問題:

1:不安全,所有的資訊都是記錄在電腦中瀏覽器中的資訊。Cookie資訊。 

2:在儲存中文的時候比較麻煩。(先編碼在解碼)

3:一個Cookie只能儲存一個數據。如果是多個數據則需要N個Cookie資料。主要的原因是因為value的值是String型別。

4:一個站點對Cookie的數量是有限制的。

            Cookie大小限制在4KB之內;
            * 一臺伺服器在一個客戶端最多儲存20個Cookie;
            * 一個瀏覽器最多可以儲存300個Cookie;

5:再設計上就有問題:考慮生活中問題:

                Cookie 是瀏覽器和伺服器之間和資料互動的憑證。在生活中我們是把識別資料儲存到服務端。

解決方法:session(當然也不是百分之百的好,也是缺陷的地方。)