Cookieの設定は色々あって複雑
初心者だけでなくプログラミング経験者でもCookieの設定は慣れないものだと思います。そんな自分もここ数日どハマりしてましたので簡単に解説しておきたいと思います。
Domain
ドメインを何も設定していない場合、Cookieを発行したドメインが設定されます。
例えばa.comから発行されたCookieはa.comのサイトでしか扱うことができません。しかし、サブドメインのsub.a.comではこのCookieを扱うことはできません。
ドメインにa.comを指定した場合は、サブドメインのsub.a.comでもそのCookieを扱うことができます。なので、ドメインは指定しない方がセキュリティ上安全と言われているので特段理由がなければ指定しないことをオススメします。
Path
パスはドメイン以降のURLのパスを指定します。Pathに/apiと指定すると/api、/api/a、/apiaというように/api以下のパスルーティング時にだけCookieを扱うことができます。
Secure
セキュア属性をtrueにするとHTTPS通信時のみCookieをクライアントに送るという設定ができます。本番環境ではこれをtrueにしておくことを推奨します。
HttpOnly
HttpOnlyをtrueにするとHTTP(HTTPS)通信時のみCookieを扱うことができます。これはよく勘違いされるのですが、tureにしたからといってHTTPSで使えなくなる訳ではありません。
JavascriptからCookieを扱う場合はこの値をfalseにしておかないといけません。
max-age(expire)
max-ageはCookieの有効期限を秒数で設定することができます。100とすると100秒間だけ有効なCookieを設定できます。
expireは有効期限を日付で設定することができます。両方とも指定されている場合はmax-ageの方が優先して使われます。
まとめ
Cookieの属性の設定は5種類だけです。この5種類をしっかりと覚えておけば今後設定に戸惑うこともなくなると思います。
関連記事
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す