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





