セッション処理のカスタマイズ

Web サーバー アプリケーションが、今後のクライアント リクエストを識別するために必要な情報を実行時に生成することがよくあります。 サーバーは、ブラウザへのレスポンスに、一意の文字列 (セッション ID と呼ばれる) を含めます。 この文字列は後続の各リクエストの一部としてブラウザからサーバーに返ります。これによりサーバーはリクエストが一部になっている固有な Web セッションを識別できます。 一般に、セッション ID はメソッドを参照し、Web サーバー アプリケーションは個別のユーザーを識別するために、該当するユーザーに対して以前にアプリケーションが持っていたユーザーのセッション情報の状態とこの ID を関連付けるために使用します。

セッション ID は、さまざまな方法でクライアントに送信されます。 クッキーにセッション ID を含めることはよくあります。またはハイパー リンクで使用される、URL の一部として内部 HTML、または埋め込みオブジェクト、非表示の HTML フォーム フィールドに含まれます。 セッション ID は、クッキー、URL、および HTTP のポスト データでサーバーに送り返されます。

クッキー内のセッション情報

サーバーから:

Set-Cookie: SessionID=LGIJALLCGEBMIBIMFKOEJIMM; path=/

サーバーへ:

Cookie: SessionID=LGIJALLCGEBMIBIMFKOEJIMM

HTML リンクの URL にあるセッション情報

サーバーから:

<html>
  ...
  <a href="/ShopIt/acknowledge.asp?SessionID=LGIJALLCGEBMIBIMFKOEJIMM" > 
  Enter Shop 
  </a>
 ...
</html>

サーバーへ:

GET /ShopIt/acknowledge.asp? SessionID = LGIJALLCGEBMIBIMFKOEJIMM HTTP/1.1

セッション情報が、非表示のフォーム フィールドに含まれる場合

サーバーから:

<html>
  ...
  <form action="kindofpayment.asp" method="post" >
  Currently we only accept Credit Cards
  <input type="hidden" name="SessionID" value="LGIJALLCGEBMIBIMFKOEJIMM">
  <input type="text" name="name" value="Jack " >
  <input type="submit" name="paymentButton" value="Submit">
  </form>
  ...
</html>

サーバーへ:

POST /ShopIt/kindofpayment.asp HTTP/1.1
...
SessionId=LGIJALLCGEBMIBIMFKOEJIMM&name=Jack&paymentButton=Submit