図1に示すように、最初のHTTPプロトコルはステートレスであります
ステートレスとは何ですか?つまり、このHTTPリクエストを送信し知らないサーバは、我々はユーザーを区別することはできません
2.なぜ状態にログインする必要があり
こうしたサイトショッピングなどインタラクティブなウェブサイトの台頭は、人々が順序を置いコマーシャルを高めるために彼らのショッピングカート、に行くかを知る必要がありますサーバーは、それが各伝送インターフェース要求は、一人一人を区別しなければならないことを意味します。しかし、HTTPには状態は、ユーザーレコードを区別する方法はありません。ログイン状態はサーバが対処する必要が送信され、各セッションを、知っているようにするユーザの要求を区別するために使用されるように。
ユーザーの間で区別する3.いくつかの方法
1)、セッションID
サーバーがクライアントに返されたセッションIDを生成し、中に、クライアントはこのセッションIDを覚えてログインすると、その後、この点を送信するすべての要求は、一緒に来てSESSIONID、私たちは誰が誰であるかを区別することができるようになりますが、サーバーが忘れてはならない場合にのみ、すべてのセッションID。
2)、トークン
セッションIDの欠点のための新しい方法は、生産(保管用サーバリソースの多くを取るため)。その後、ロゴは、それぞれの要求を検証するために、サーバーに渡され、クライアントに一意の識別子を送信し、サーバです。違いは、一意の識別を保存せずにサーバーということです。
どのようにユニークなIDを生成するには?
データはクライアントにトークン送られた一緒に署名を行い、秘密鍵を追加し、アルゴリズムで着陸から送信され、このデータの署名。
その一意に識別を確認するには?
要求がサーバーに送信されると、その後、同じアルゴリズムと秘密鍵は、トークン内のデータは、もし同じ、その後、認証を署名し、比較トークン署名を行います。
注:いないユーザーのパスワードやその他の機密情報の保存トークンができます。
認証トークン要求手順:
1は、ユーザーがログインすると、サーバーにユーザー名とパスワードを送信します。
2、サーバーは、ユーザー名とパスワードが正しいかどうかを検証します。
図3は、検証が渡され、署名付きのクライアントへトークンを返します。
4.ストレージクライアントトークンクッキー、その後、各時間ヘッダの送信要求にトークン。
5、サーバは要求を受信し、トークンを取得し、署名検証し、クライアントに情報を返します。