0
私は、サーバー側のクッキーで何らかの奇妙な動作を見ています。理由を理解したいと思います。サーバー上でCookieヘッダーでは利用できますが、getCookies()からは利用できません。
document.cookie = 'test_cookie=' + '[AB]cd|ef-gh[IJ]' + '; path=/;';
document.cookie = 'test_cookie2=' + 'cd|ef-gh' + '; path=/;';
:クライアントで
headers = httpServletRequest.getHeaders()
// iterate and print headers
cookies = httpServletRequest.getCookies();
// iterate and print headers
出力:
// Both are there on the header, so tomcat doesn't block it:
...
header: cookie: test_cookie=[AB]cd|ef-gh[IJ]; test_cookie2=cd|ef-gh
// Only one shows up from getCookies()
...
cookie: test_cookie2=cd|ef-gh
// no test_cookie ???
なぜ私はtest_cookie2を見ることができないのですか? 私はクライアントに設定する前にuri-encodeできましたが、 '['と ']'にはクッキー文字が許可されていると思いましたか?
もっと正しい設定方法はありますか?
document.cookie = 'test_cookie="[AB]cd|ef-gh[IJ]"; path=/';
をされない特殊文字が含まれているクッキーの値を二重引用符:ここ