私はウェブ開発のトレーニングを受けており、JSP&サーブレットある程度の知識がありHttpSession
、いくつかのサンプル プロジェクトで使用しました。
ブラウザには「Cookie を削除する」オプションがあります。Cookie を削除すると、これも削除されますHttpSession
。
クッキーとセッションは同じですか? 違いは何ですか?
ベストアンサー1
クッキーとは、クライアントとサーバーの間でやり取りされる短いテキスト文字列です。name=bob; password=asdfas
クッキーに保存して、サーバー側でクライアントを識別するために送信することができます。これは、短期記憶がなく、取引ごとに身元確認が必要な銀行の窓口係とやり取りをしているようなものだと考えることができます。もちろん、この種の情報を保存するのにクッキーを使用するのは、非常に安全ではありません。クッキーのサイズにも制限があります。
銀行の窓口係が顧客の記憶障害を知ったら、顧客情報を紙に書き留めて短いID番号を割り当てることができます。そうすれば、取引ごとに口座番号や運転免許証を提示する代わりに、「私は顧客12です」と言うだけで済みます。
これを Web サーバーに置き換えると、サーバーはセッション オブジェクトに関連情報を保存し、セッション ID を作成して、それを Cookie でクライアントに送り返します。クライアントが Cookie を送り返すと、サーバーは ID を使用してセッション オブジェクトを簡単に検索できます。したがって、Cookie を削除すると、セッションは失われます。
もう 1 つの選択肢は、サーバーが URL 書き換えを使用してセッション ID を交換することです。
リンクがあると仮定します。www.myserver.com/myApp.jsp
ページ全体を調べて、すべての URL をwww.myserver.com/myApp.jsp?sessionID=asdf
または に書き換えwww.myserver.com/asdf/myApp.jsp
、そのようにして識別子を交換することができます。この手法は Web アプリケーション コンテナーによって処理され、通常は Cookie なしのセッションを使用するように構成を設定することで有効になります。