WebブラウザからWebサーバに処理要求をするHTTPリクエストとWebサーバがWebブラウザに結果応答するHTTPレスポンスの繰り返しが基本動作となる。HTTPリクエストではURL*を含むWebブラウザによる入力情報が転送され、これに対してWebサーバはファイルリソースやCGI*を用いたプログラムの実行を行い、結果をHTTPレスポンスとしてWebブラウザに返す。
httpはリクエスト・レスポンスを基本動作とする。しかし、要求と結果応答の連続を一連の処理として行おうとした場合、リクエスト&レスポンス間でデータの共有がなされないと、入力したデータが失われてしまう。これを解決するための仕組みの一つとしてセッション管理がある。
セッションはWebサーバにWebクライアントが最初にリクエストした際にWebサーバがセッションIDを発行し、レスポンスでWebクライアントに渡すことでサーバとクライアント間に接続状態を作り出す。次回以降のリクエストではWebクライアントがWebサーバに発行されたセッションIDを送り、Webサーバが管理するセッションIDのデータ保持領域からデータを取得可能にする。これにより、リクエスト&レスポンス間でのデータの共有が可能になる。
WebクライアントでのセッションIDの保持方法は複数あり、URLに記述する方法や、レスポンスされたHTMLに記述しておくなどもあるが、Cookieにより、ファイルリソースとして保持するのが一般的である。
Webサーバでは通常、一定時間セッションIDからのリクエストがないと発行したセッションIDを破棄する仕組みになっている。
Webクライアントがローカルにデータを保持する方法。Cookieファイルと呼ばれるファイルリソースをハードディスク上に持つことで実現される。