Cookie 處理元件
目錄
簡介
CookieProcessor 元素表示將接收到的 Cookie 標頭解析成可透過 HttpServletRequest.getCookies()
存取的 jakarta.servlet.http.Cookie
物件,以及將透過 HttpServletResponse.addCookie()
新增至回應的 jakarta.servlet.http.Cookie
物件轉換成傳回給用戶端的 HTTP 標頭的元件。
CookieProcessor 元素可以巢狀在 Context 元件中。如果沒有包含,系統會自動建立預設實作。
屬性
共用屬性
所有 CookieProcessor 實作都支援下列屬性
屬性 | 說明 |
---|---|
className |
要使用的實作的 Java 類別名稱。此類別必須實作 |
標準實作
CookieProcessor 的標準實作是 org.apache.tomcat.util.http.Rfc6265CookieProcessor
。
此 Cookie 處理器基於 RFC6265,並有下列變更以支援更好的互通性
- Cookie 八位元組中允許值 0x80 到 0xFF,以支援 HTML 5 使用的 Cookie 值中的 UTF-8。
- 對於沒有值的 Cookie,名稱後不需要「=」,因為有些瀏覽器不會傳送它。
RFC 6265 Cookie 處理器通常比舊版 Cookie 解析器寬鬆。特別是
- Cookie 值中永遠允許「
=
」和「/
」字元。 - 永遠允許只有名稱的 Cookie。
- Cookie 標頭始終會保留。
RFC 6265 Cookie 處理器支援下列其他屬性。
屬性 | 說明 |
---|---|
partitioned |
是否應在 Cookie 上設定 Partitioned 標記?預設為 注意:用於指出分區 Cookie 的屬性名稱,作為 CHIPS 的一部分,未由 RFC 定義,且在 RFC 中包含等效功能後,可能會以非向下相容的方式變更。 |
sameSiteCookies |
啟用設定同站 Cookie 屬性。 如果值為 如果值為 如果值為 如果值為 |
巢狀元件
不得在 CookieProcessor 內嵌任何元素。
特殊功能
CookieProcessor 元素沒有關聯的特殊功能。