2017-09-12 3 views
0

ExpressのようなフレームワークなしでNode.jsでセッションを作成して管理するにはどうすればよいですか?明示のないセッションの作成

ノードの管理セッションについて言及しているほとんどの質問にはexpressを使用していますが、明示的な使用なしでこれを行う方法を知りたいと思います。

答えて

0

これは、ホイールの再発明のようなものです。私はそれが誰かがdownvoted理由だと思う。しかし、時には学習目的のために車輪を再構築するのに役立ちます。

セッションの処理は、主にクッキーによって行われます(URLでエンコードされることもあります)。このプロセスでは、サーバーはクライアントに一意の識別子(Cookie)を送信し、セッションに格納したデータを含むローカルファイルを作成し、次の要求では、一意の識別子が存在すればそれが存在するかどうかをチェックし、ファイルが一致するとファイルを選択し、そのファイルからデータを読み込み、そのセッションを使用できるようになります。ファイルまたは一意のIDが存在しない場合は、その一意のIDを持つ空のファイルを作成し、次回のセッションを識別するために、そのファイルをセットクッキーヘッダーでクライアントに送信します。ここで

は、セッションを処理するために従うことができますいくつかの手順は次のとおりです。

  1. あなたのセッションクッキーを見つけるために、REQでCookieを確認する最初の要求を受信します。
  2. 存在する場合は、そこから一意のIDを読み取り、その名前(一意の識別子)を持つファイルが存在するかどうかを確認します。
  3. ファイルが存在する場合は、そのファイルからオブジェクトを読み取り、mysessionという名前のローカル変数に格納します(名前は自分で指定します)。
  4. ファイルまたはセッションCookieが存在しない場合は、ランダムに生成された一意の識別子を持つ空のファイルを作成します。この一意の識別子をセッションクッキーの形式でクライアントに送信するには、set-cookieヘッダーを使用します。

あなたがクライアントに

を任意のデータを送信する前に、上記のすべてのものを行う、あなたがその変数に対して行ったすべての変更のためのあなたのmysession変数の内容とのセッションファイルを書き込みます。

関連する問題