Web技術の基礎

CGIでは、Webサーバがリクエストを受けるたびにプログラムを新しいプロセスとして起動し、処理が終わるとプロセスは終了する。FastCGIやアプリケーションサーバの方式が、CGIと比べて多くのリクエストを効率よく処理できる主な理由はどれか。

  1. Aプログラムのプロセスを常駐させて使い回すので、リクエストごとのプロセスの起動や初期化の手間を省ける
  2. BHTTPの代わりにUDPで利用者と通信するので、リクエストのたびにTCPの接続を確立する手間がなくなる
  3. Cプログラムをブラウザに送って、ブラウザの中で実行させるので、サーバではリクエストの処理を行わなくてよい
答えと解説を見る

正解:A. プログラムのプロセスを常駐させて使い回すので、リクエストごとのプロセスの起動や初期化の手間を省ける

CGIは、Webサーバがリクエストの情報を環境変数や標準入力でプログラムに渡し、プログラムが標準出力に書いた結果を応答として返す、単純な仕組みです。ただし、リクエストのたびにプロセスを起動し、言語の処理系の読み込みやデータベースへの接続を毎回やり直すので、リクエストが多いと負荷が大きくなります。FastCGIや、各言語のアプリケーションサーバは、プログラムを常駐させ、Webサーバとソケットなどでつないで、多くのリクエストを繰り返し処理します。

  • A. 正しい。プロセスを常駐させて、起動と初期化の手間をリクエストごとに繰り返さずに済みます。
  • B. FastCGIやアプリケーションサーバの方式でも、利用者とはHTTPで通信します。違いは、サーバの中でプログラムを動かす方法です。
  • C. プログラムはサーバで動きます。ブラウザで動くのは、ページに含まれるJavaScriptです。
この分野を解く 分野ページへ

Web技術の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

Web技術の基礎のほかの問題

  1. Webサイトのページを作る方式のうち、ビルドの段階ですべてのページのHTMLファイルをあらかじめ生成しておき、リクエストにはそのファイルをそのまま返す方式はどれか。
  2. HTTP/1.1のリクエストの最初の行(リクエスト行)に並ぶ要素の組み合わせとして、正しいものはどれか。
  3. HTTPのメソッドのうち、「安全」(サーバ上の資源の状態を変えることを意図しない)ではないが、「べき等」(同じリクエストを何回送っても、1回送ったときと同じ状態になる)であるものはどれか。
  4. HTTPのステータスコードと、その意味の組み合わせとして正しいものはどれか。
  5. 会員制のWebサイトで、ログインしている一般の会員が、管理者だけに許されたページを要求した。サーバは利用者がだれかを確認できているが、このページへのアクセスは許可しない。このとき返すステータスコードとして最も適切なものはどれか。