序文
最近の研究Pythonのネットワークプログラミングは、簡単な情報交換サーバーとブラウザを達成しました。我々はさらに、学習とクッキーセッション(おそらくトークン)ですので、理解を深めるためのエッセイを書きます。
まず、クッキーは何ですか
クッキーは、時々複数形のクッキーと、セッションを追跡し、ユーザ端末にローカルに格納されているため、特定のサイトのユーザIDを識別するために、(典型的には、暗号化された)データを指します。[出典:Baiduの百科事典 ]
要するに、クッキーは、コンテンツサーバとブラウザの通信です。ローカルの永続性を実装するため。Set-Cookieサーバーは、ブラウザのデータ内のフィールドに戻って追加することができます。コンテンツブラウザはこのフィールドを生き残るし、各後続の要求は自動的にクッキーに追加されます。サーバが要求を受信したときにこのように、要求は、パーソナライズされた応答のいくつかを与えるために、送信者の身元を特定することができます。
だから、クッキーはクライアントにサーバープラスクライアントに格納された識別タグであり、それは、サーバーにブラウザがデータを要求するたびに送信されます。一方、他のユーザーデータは、ユーザー名として、サーバー上に保存され、ラベルに関連付けられます。クッキーは、次のプロパティがあります。
プロパティ | 入門 |
名 | クッキーの名前 |
値 | クッキー値 |
有効期限が切れます | ブラウザを閉じた後、有効期限、このプロパティが指定されていない場合は、「セッションクッキー」、つまり、セッションは削除されますがあります |
パス | ウェブクッキーの有効範囲は、サブフォルダは、クッキーの親フォルダによって生成されたWebページにアクセスすることができますが、その逆ではありません。cookie_a /パス膨潤なる例では、cookie_bに/副パス膨潤なり、cookie_a /次のパスは読み取り専用、および/副パスを読み出してcookie_bことができるcookie_aができます。このプロパティを省略した場合、デフォルトは、相対パスを使用して現在のURLであることに注意してください、例えばパスのためにそれは、次いで、URL http://www.a.com/some/page.phpに配置されたクッキーのパスで指定されていませんpath属性/一部。一般的に、我々はクッキーを設定し、サイトは他のすべてのページを読むことができるようにするので、それは「/」に設定する必要があります。 |
ドメイン | クッキーは、デフォルトでは、このようなwww.somesite.comとして、完全修飾ドメイン名で、ドメイン名に属します。もちろん、あなたが、あなた自身のルートドメイン、すなわちsomesite.comを指定することができますので、現在のサイトには、そのようなサブドメインb.somesite.comのような、それはまた、サブドメインに位置していますa.somesite.comとしてサブドメインのウェブサイトを、あるかどうあなたはクッキーを読むことができます。 |
確保します | このプロパティは、そのアドレスがtrueに設定されている場合、その後、現在のHTTPSサイトの要求でそれを読むことですHTTPSのです。 |
HTTPのみ | このプロパティセットは、現在のJSクッキーの許可を読んで、そして真の場合は、JSを読み取ることができません現在のCookieを変更します |
第二に、セッションは何ですか
私は(修正する)理解しています。
セッションは、文字通りに解釈、「セッション」とは、それが誰であるか知っている、セッションサーバ、セッションを確立するために、ブラウザとサーバーのですか?一般的なユーザー名とパスワードによって検証されます。しかし、検証サーバは、クッキー内のフィールドに参加した後、すべての時間アクセスが、あまりにも多くの問題を検証するために必要な、そうされている場合は、通常のランダムな文字列、SESSION_ID、返されました。サーバでは、サーバは、クッキーSESSION_IDを借りることができるように、SESSION_IDによってユーザに関する現在の情報(例えば、ユーザ名、誕生日、等)の関連付けは、セッション・オブジェクトを識別します。それは暗号化されていることにSESSION_IDがランダムな文字列であるので、尊敬のクッキー技術とセッションの利点は、それゆえ、直接クッキーにおける訪問者の身元情報を偽造ではありません。SESSION_IDが傍受された場合はもちろん、まだあなたは訪問のアイデンティティをとることができます。
第三に、どのようにクッキーを達成するために
最も簡単な方法は、要求と応答のクッキーフィールドに追加されます。
クッキーの内容がブラウザに保存されています。
セッションデータはサーバー側に保存されています。
第四に、解決すべき問題
セッションは永久的であるかどうか?
参考文献:
https://github.com/alsotang/node-lessons/tree/master/lesson16