1. Cookieはhttpプロトコルの範囲外ですhttpプロトコルは状態を維持できないため、実際には「状態を維持する」必要があるため、このようなシナリオでCookieが生まれます。
Cookieの動作原理は次のとおりです。コンテンツはサーバーによって生成され、ブラウザーは要求を受信した後にそれを保存します。ブラウザーが再度アクセスすると、ブラウザーは自動的にCookieを取得するため、サーバーはCookieの内容によってこれを判断できます。 「」
2. Cookieはある程度「状態を維持する」必要性を解決しますが、Cookie自体が最大4096バイトをサポートし、Cookie自体がクライアントに保存されるため、傍受または盗難される可能性があるため、新しいものが必要ですより多くのバイトをサポートでき、より高いセキュリティを持つサーバーに格納されます。これがセッションです。
問題は、httpプロトコルのステートレスな性質に基づいて、訪問者が誰であるかをサーバーが単に知らないことです。次に、上記のCookieはブリッジとして機能します。
各クライアントのCookieに一意のIDを割り当てることができるため、ユーザーがCookieを介してアクセスすると、サーバーは誰が来ているかを認識できます。次に、「アカウントパスワード」などのさまざまなCookie IDに基づいて、個人情報を一定期間サーバーに保存します。
3.要約すると、CookieはHTTPのステートレス性の欠如を補い、サーバーに送信者を通知します。ただし、Cookieはローカルにテキスト形式で保存され、セキュリティが低いため、Cookieを使用して異なるユーザーは、それに応じて、セッションで4096バイトを超える個人情報とテキストを保存します。
4.さらに、上記のCookieとセッションは実際には一般的なものであり、言語やフレームワークに限定されません
#--------------------------------------- 53.5 cookie def wusanwu(req): print(' 111111111111 ' 、req.COOKIES) print(' 111111111111 ' 、req.session) if req.method == " POST " : name = req.POST.get(' user ' ) pwd = req.POST.get(' pwd ' ) if name == ' ouyang ' and pwd == ' 123 ': #使用クッキー保持別個 #1 A =リダイレクトは( '/インデックス/ shouye /') #クッキーには有効時間追加ペアセット #1 a.set_cookie( '嗶哩嗶哩'、 'ABCD'、max_ageの= 10) #1 リターンAを #ホールドでセッションを使用して 、[req.session ' denlu ' ] = 真 req.sessionは、[ ' 名前' ] = 名前 #の追加ペア を返すリダイレクト(' /インデックス/ shouye / ' ) を返すこと(REQをレンダリングし、「index.htmlを」) defshouye(req): #if req.COOKIES.get( 'bilibili'、None)== 'abcd': # name = 'ouyang' # return render(req、 '首页.html'、locals()) if req。 session.get(' denlu ' 、None): name = req.session.get(' name ' 、None) return render(req、' 首页.html ' 、locals()) else : return redirect(' / index / ')