ホーム » webapp フレームワークの基本 » Cookie の設定
Cookie の設定
ウェブサイトで複数のページ間で共通に使えるデータストア管理機構として、 多くのウェブサイト構築環境では "セッション" などと呼ばれる仕組みがあります。
Google App Engine ではビルトインのセッション管理機構がありません。
このため必要に応じて実装する必要があります。
もちろん、どこからかライブラリを拝借してきても良いのでしょうが。
ここでは多くのセッション管理の基本となるクッキー (Cookie) の設定法方を説明します。
Cookie の設定
webapp では Python の SimpleCookie を利用して次のように Cookie が設定できます。
import Cookie
...
def post(self):
# クッキーの設定
c = Cookie.SimpleCookie()
c["foo"] = user_key
c["foo"]["path"] = "/"
c["foo"]["secure"] = True
c["foo"]["max-age"] = 60 * 60 # seconds
self.response.headers.add_header("Set-Cookie",
c.output(header=''))
ここでは Cookie のキー・値ペア以外に、path、secure、max-age 属性を設定しています。それぞれ簡単に説明すると次の通りです。
path はクッキーの有効範囲を指定します。/ を指定すると Cookie を指定したドメインで Cookie が有効になります。逆に /bar などと指定すると、 そのサブディレクトリ以下に有効範囲が限定されます。
secure 属性を設定すると、そのクッキーは HTTPS 通信時にのみ限定されます。例えば https://www.example.com/ で設定したクッキーがあったとして、 もし secure 属性が設定されていないと http://www.example.com/ へのアクセス時にもクッキーが送られてしまいます。
max-age は Cookie の有効時間を秒単位で設定しています。
ホーム » webapp フレームワークの基本 » Cookie の設定