ホームページ >ウェブフロントエンド >jsチュートリアル >cookies_javascript のヒントで特殊文字を使用すべきではない理由
指定された名前と値を持つ Cookie を構築します。
名前は RFC 2109 に準拠する必要があります。つまり、名前には ASCII 英数字のみを含めることができ、カンマ、セミコロン、空白を含めたり、$ 文字で始めることはできません。 Cookie の名前は、作成後に変更できません。
その値は、サーバーが送信するために選択したものであれば、setValue メソッドを使用して作成後に変更できます。
デフォルトでは、Cookie は Netscape Cookie 仕様に従って作成されます。バージョンは setVersion メソッドで変更できます。
上記は Java API ドキュメントの Cookie クラスのコンストラクターの説明です。のポイント 名前と値に使用できる文字を紹介します。
パラメータ名は RFC2109 仕様に従う必要があります。つまり、name パラメータには文字または数字のみを含めることができ、コンマ、セミコロン、スペース、ドル記号を含めることはできません。 Cookie の name 属性は、設定後に変更することはできません。
パラメータ値はサーバーによって設定された任意の値にすることができ、値は setValue メソッドを通じてリセットできます。
しかし、そうではありません! !
(1) 値にカンマを含めることはできません。値にカンマが含まれる場合、プログラムはコンパイルできません。
値にカンマが含まれる場合は次のようになります。
Cookie pwdCookie = new Cookie("option", "block1,block2")
例外は次のとおりです。
java.lang.IllegalArgumentException: block1,block2
Cookie を操作する JavaScript に関する別の記事で、次のように述べられています:
Cookie の名前または値にはセミコロンを使用できません ( ;) 、カンマ (,)、等号 (=)、およびスペース。
つまり、Cookie には特殊文字を使用しないようにしてください。