blog

FLASK クッキー § セッション

> クッキーとセッション ``` クッキーとセッションはどちらもサーバー側で作成されますが、唯一の違いはセッションはサーバー側に保存され、クッキーはクライアント側に保存されるということです ``` >...

Sep 13, 2020 · 2 min. read
シェア

Cookieおよびセッション

cookieとセッションはどちらもサーバーによって作成されるが、唯一の違いは、セッションがサーバーによって保存されるのに対し、クッキーはクライアントによって保存されることである。

Cookie

@app.route("/set_cookies")
def set_cookies():
 response = app.make_response("success set cookies")
 response.set_cookie("name", "python")
 response.set_cookie("env", "ubuntu")
 # レスポンスの返送からカウントする
 response.set_cookie("max", "20s", max_age=20)
 # GMT
 response.set_cookie("expires", "in 2020-08-06T02:06:00.309Z", expires=datetime.datetime(year=2020, month=8, day=6, hour=2, minute=6))
 return response
@app.route("/delete_cookie/<cookie_name>")
def delete_cookie(cookie_name):
 response = app.make_response("success")
 response.delete_cookie(cookie_name)
 return response
@app.route("/clear_cookies")
def clear_cookies():
 response = app.make_response("success")
 for key in flask.request.cookies:
 response.delete_cookie(key)
 return response
@app.route("/print_cookies")
def print_cookies():
 cookies = flask.request.cookies
 return cookies

Session

app.secret_key = os.urandom(16)
# セッションが作成されたり変更されたりすると、flaskは自動的にレスポンス・クッキーにセッションのキーと値のペアを追加したり変更したりする。
@app.route("/set_session/<username>/<password>")
def set_session(username, password):
 flask.session['username'] = username
 flask.session['password'] = password
 return "success"
@app.route("/delete_session/<session_name>")
def delete_session(session_name):
 flask.session.pop("password", None)
 return "success"
@app.route("/clear_session")
def clear_session():
 flask.session.clear()
 return "success"
@app.route("/print_session")
def print_session():
 session_map = dict()
 for key in flask.session:
 session_map[key] = flask.session.get(key)
 return session_map
Read next

JavaJavaのfinalize()メソッド

Javaのゴミコレクタは、newによって生成されたメモリブロックのみを解放し、newによって生成されなかった「特殊メモリ」は管理しません。 いわゆる特殊メモリとは、C/C++を使ってJNI経由でシステムから要求されたメモリのことで、手動でクリアしないとメモリに残ってしまいます。 さらに、ごみ収集にはそれ自身のオーバーヘッドがあるため、VMは頻繁にGCを行わず、...

Sep 13, 2020 · 2 min read