Cookie プロセッサコンポーネント

目次

概要

CookieProcessor 要素は、受信した Cookie ヘッダーを jakarta.servlet.http.Cookie オブジェクトに解析し、HttpServletRequest.getCookies() を介してアクセスできるようにし、HttpServletResponse.addCookie() を介して応答に追加された jakarta.servlet.http.Cookie オブジェクトをクライアントに返される HTTP ヘッダーに変換するコンポーネントを表します。

CookieProcessor 要素は コンテキスト コンポーネント内にネストできます。含まれていない場合、既定の実装が自動的に作成されます。

属性

共通の属性

CookieProcessor のすべての実装は、次の属性をサポートします。

属性説明
className

使用する実装の Java クラス名。このクラスは org.apache.tomcat.util.http.CookieProcessor インターフェイスを実装する必要があります。指定されていない場合、標準値(以下で定義)が使用されます。

標準実装

CookieProcessor の標準実装は org.apache.tomcat.util.http.Rfc6265CookieProcessor です。

この Cookie プロセッサは RFC6265 に基づいていますが、相互運用性の向上をサポートするために次の変更が行われています。

  • HTML 5 で使用されている Cookie 値で UTF-8 を使用できるように、値 0x80 から 0xFF が Cookie オクテットで許可されます。
  • 値のない Cookie の場合、一部のブラウザは送信しないため、名前の後に「=」は必要ありません。

RFC 6265 Cookie プロセッサは、従来の Cookie パーサーよりも一般に寛容です。特に

  • =」と「/」の文字は、Cookie 値では常に許可されます。
  • 名前のみの Cookie は常に許可されます。
  • Cookie ヘッダーは常に保持されます。

RFC 6265 Cookie プロセッサ は、次の追加の属性をサポートします。

属性説明
パーティション分割

Cookie に分割フラグを設定する必要がありますか?既定値は false です。

注意:CHIPS の一部としてパーティション分割された Cookie を示すために使用される属性の名前は RFC では定義されておらず、同等の機能が RFC に含まれると後方互換性のない方法で変更される可能性があります。

sameSiteCookies

Same-Site Cookie 属性の設定を有効にします。

値が unset の場合、Same-Site Cookie 属性は設定されません。これが既定値です。

値が none の場合、Same-Site Cookie 属性が設定され、Cookie は常にクロスサイトリクエストで送信されます。

値がlaxの場合、ブラウザは同じサイトリクエストとクロスサイトトップレベルGETリクエストでのみCookieを送信します。

値がstrictの場合、ブラウザはあらゆるクロスサイトリクエストでCookieを送信することを防止します。

ネストされたコンポーネント

CookieProcessor内に要素をネストすることはできません。

特殊機能

CookieProcessor要素には特殊な機能はありません。