1.クッキー
1.1クッキーとは何ですか?
クッキーはサーバーによって生成され、ブラウザ側の小さなテキスト情報に保存されます。
Cookieの特徴:
1)キーと値のペアで保存します。
2)ブラウザーを介してWebサイトにアクセスすると、ブラウザーに保存されているWebサイトに関連するすべてのCookie情報がWebサイトのサーバーに送信されます。
3)Cookieはドメイン名のセキュリティに基づいています。
4)Cookieには有効期限があり、指定しない場合、デフォルトでブラウザを閉じた後に有効期限が切れます。
1.2クッキーの役割
HTTPプロトコルはステートレスであり、各リクエストは独立しています。その実行と結果は、以前のリクエストと後続のリクエストとは何の関係もありません。Cookieは、httpリクエストのステータスに対する人々のニーズを満たすために生まれました。
1.3 DjangoでのCookieの使用
- クッキー
の設定例
def cookie_set(request):
response = HttpResponse("<h1>设置Cookie</h1>")
response.set_cookie('your_cookie', '你好')
return response
一般的に使用される:
rep.set_cookie(key,value,...)
rep.set_signed_cookie(key,value,salt='加密字符串', max_age=None, ...)
- クッキー
を取得する例:
def cookie_get(request):
if 'your_cookie' in request.COOKIES:
response = HttpResponse("获取Cookie")
return response
一般的に使用される:
request.COOKIES['key']
request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)
- まとめ
方法 | 説明文 |
---|---|
rep.set_cookie(key、value、…) | クッキーを設定する |
rep.set_signed_cookie(key、value、salt = 'encrypted string'、max_age = None、…) | ソルトCookieの設定、パラメーター:1)キー、キー2)値= ''、値3)max_age =なし、タイムアウト4)期限切れ=なし、タイムアウト(IEには期限切れが必要なので、設定されていない場合は設定してください)すでに)5)パス= '/'、Cookieが有効なパス、/はルートパスを意味します、特別:ルートパスCookieは任意のURLページからアクセスできます6)ドメイン=なし、Cookieが有効なドメイン名7)安全= False 、https送信9)httponly = Falseは、HTTPプロトコルでのみ送信でき、JavaScriptでは取得できません(絶対ではなく、基になるパケットキャプチャを取得または上書きできます)。 |
request.COOKIES ['key'] | 通常のクッキー取得 |
request.get_signed_cookie(key、default = RAISE_ERROR、salt = ''、max_age = None) | ソルトCookieの取得、パラメーター:1)デフォルト:デフォルト値2)salt:暗号化されたsalt 3)max_age:バックグラウンドコントロールの有効期限 |
二。セッション
機密で重要な情報については、ユーザー名、残高、レベル、確認コード、その他の情報など、ブラウザーではなくサーバー側に保存することをお勧めします。その後、セッションが使用されます。
セッションは重要な情報をサーバーに保存し、ランダムな文字列をCookieに保存されているクライアントに返します。
セッションの特徴:
-
- セッションはキーと値のペアとして保存されます。
-
- セッションはクッキーに依存します。一意の識別コードは、sessionid cookieに保存されます。
-
- セッションには有効期限もあります。指定しない場合、デフォルトでは2週間で期限が切れます。
- セッションには有効期限もあります。指定しない場合、デフォルトでは2週間で期限が切れます。
2.1 Djangoセッションの一般的なメソッド
用途 | 方法 |
---|---|
ゲット | 1)request.session ['k1'] 2)request.session.get( 'k1'、None) |
セットアップ | 1)request.session ['k1'] =“ abc” 2)request.session.setdefault( 'k1'、“ abc”) |
セッションデータを削除する | del request.session ['k1'] |
キー、値、キーと値のペアで一般的に使用される方法 | 1)request.session.keys()2)request.session.values()3)request.session.items()4)request.session.iterkeys()5)request.session.itervalues()6)request.session .iteritems() |
セッションキー | request.session.session_key |
セッションの有効期限が現在の日付より小さいすべてのデータを削除します | request.session.clear_expired() |
セッションセッションキーがデータベースに存在するかどうかを確認します | request.session.exists(“ session_key”) |
現在のセッションのすべてのセッションデータを削除する | request.session.delete() |
現在のセッションデータを削除し、セッションCookieを削除します。 | request.session.flush() |
セッションとCookieのタイムアウトを設定する | request.session.set_expiry(値) 如果value是个整数,session会在些秒数后失效。 如果value是个datatime或timedelta,session就会在这个时间后失效。 如果value是0,用户关闭浏览器session就会失效。 如果value是None,session会依赖全局session失效策略。 |