• 締切済み

WebサーバとWebアプリケーション。セッションID、ユーザーID、パスワードを管理するのはどっち?

セッションIDを習ったとき、 私の記憶ではセッションIDを管理するのはWebサーバと習いました。 普通、このOKWaveのようにログインを要するようなWebページは ログイン時に渡されたユーザーIDとパスワードを セッションIDに紐付ける形でサーバ側で管理することによって、 このセッションIDを通して、同一ユーザーと見なすということだったと思います。 しかし、ここでひとつ疑問が出ました。 ログイン時に、「自分は誰か、正しいユーザーか」ということを通信先に教えるために ユーザーIDとパスワードを入れますよね? でもここでユーザーIDとパスワードがほしいのはWebサーバではなく、 ユーザー情報を持っているWebアプリケーションではないのか?と考えました。 しかし、私はセッションIDはWebサーバが管理すると習ったように記憶しています。 ということは、 ・セッションIDはWebサーバが管理する ・ユーザーIDとパスワードはWebアプリケーションが管理する ということでいいのでしょうか? つまり、セッションIDとユーザーIDの対応表はWebアプリケーション側で実装し、 クライアントのリクエストから呼び出されるWebアプリケーションのプログラムは 「この呼び出した相手のセッションIDを教えてください」と Webサーバに聞くようなプログラムにしなければならないという認識で合っているのでしょうか? よく分かってないので、聞きたいことが非常に伝わりにくいかと思いますが、 よろしくお願いします。 長い上、お粗末な文章を最後まで読んでいただきありがとうございました

みんなの回答

  • teltel
  • ベストアンサー率48% (41/84)
回答No.1

基本的にはWebサーバはデータの受け渡ししかできません。 cookieなどでのセッション管理はWebアプリケーション側で実行されます。 WebアプリケーションとWebクライアント(ブラウザ)がHTTPでやりとりするためにWebサーバを介して通信しているような感じです。

OKbokuzyo
質問者

お礼

回答ありがとうございます。 >>cookieなどでのセッション管理はWebアプリケーション側で実行されます。 なるほど、そうなのですか。 私が質問文で書いた内容は間違っているんですね。 セッションIDについて、いろいろな書籍やWebページを見て回っても 大抵は「Webサーバ」としか書かれていないので、 ApacheといったWebサーバソフトがセッション管理を担当するのか?と、疑問になっていました。 ありがとうございました。

関連するQ&A