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-octet 中允许使用 0x80 到 0xFF 的值,以支持 HTML 5 中使用的 Cookie 值中的 UTF-8。
- 对于没有值的 cookie,一些浏览器不会发送“=”后缀,因此名称后不需要“=”。
RFC 6265 cookie 处理器通常比旧版 cookie 解析器更宽松。具体而言
- cookie 值中始终允许“
=
”和“/
”字符。 - 始终允许仅名称 cookie。
- 始终保留 cookie 头。
RFC 6265 Cookie 处理器支持以下附加属性。
属性 | 说明 |
---|---|
partitioned |
是否应在 cookie 上设置分区标志?默认为 注意:用于指示分区 cookie 的属性名称作为 CHIPS 的一部分,未由 RFC 定义,并且一旦 RFC 中包含等效功能,它可能会以不向后兼容的方式更改。 |
sameSiteCookies |
启用设置同站 cookie 属性。 如果值为 如果值为 如果值为 如果值为 |
嵌套组件
CookieProcessor 中不得嵌套任何元素。
特殊功能
CookieProcessor 元素不具有任何特殊功能。