図1に示すように、HTTPはステートレスなプロトコルであります
何がステートレスで?この時間は、要求と最後の要求が情報を共有することができない、任意の関係ではなかったこと。利点はスピードです。
2、クッキー、セッションを追加
HTTP要求は、セッションIDクッキーベースの実装がSESSIONIDのでそう、使用しなければならない情報、他の手段を共有する問題を解決するために、ステートレスです。各ユーザーのサーバーは、ランダムな文字列は、ユーザーが区別できるように、サーバーに文字列を渡す、その都度サーバーを開始するHTTPリクエストと同じではありませんが生成されます。
3、セッション欠点
クライアントセッションのために、のような文字列だけのクッキーの店は非常に良いですが、サーバーのために、あなたはセッション内のすべてのオンラインユーザを格納する必要があり、それは多くのリソース(CPU、メモリを占有します)、真剣に、サーバーのパフォーマンスに影響を与えます。そして、あなたが行うには、サーバークラスタを拡張することを選択できますが、また、分散セッションの問題があった場合、セッションは解決するのに粘着性またはセッション集中管理(Redisの)を使用することができます。
回路図セッション:
手作り図面、スプレーしない好きではありません
4、差クッキーのセッション
クッキー:クライアントとサーバーは、クライアント側に保存されたクッキーを、生成することができます。いくつかの機密データが格納されていない、唯一のデータタイプはストリング(JSON)です。
セッション:サーバは、サーバに保存され、セッションを生成します。任意のデータを格納することができ、セッション内のJavaは任意のオブジェクトに格納することができ、セッションクッキーは、実装に依存しなければなりません。
5、トークン法案は、チケット、トークンことを意味しました
トークンは、サーバーへの要求を開始するには、文字列、ユーザー名とパスワードです後、サーバーは、トークン文字列を生成するために、暗号化アルゴリズムの後に、文字列トークンヘッダ+ユーザーID +タイムスタンプにより、トークン文字列を生成します。
トークン検証概略図:(ハハ、盗みます)
セッションとトークンの違い:
セッション:サーバー生成、保管、検証クライアントへの道クッキーのように、クライアントはサーバに同じ方法で送信します。ステートフルセッション。
トークン:クライアントへのフォームのリクエストヘッダにサーバ、認証、またはクッキーを生成し、クライアントがサーバーに同じ方法、ステートレストークンを送信します。