このページの本文へ

前へ 1 2 次へ

WWW完全制覇 第3回

今さら聞けないWebサーバの役割と機能

2009年05月19日 08時00分更新

文● 遠藤哲、中塚寛幸、ネットワークマガジン編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

動的なコンテンツへの対応

 Webのコンテンツは、「静的コンテンツ」と「動的コンテンツ」に大きく分けることができる。静的コンテンツは、上記で紹介したような、事前に作成したファイルをそのままWebブラウザで表示するコンテンツだ。一方の動的コンテンツは、Webブラウザからのリクエストやユーザーの操作などが生じた際に、動的に生成されるコンテンツである。さらに動的コンテンツには、Webブラウザ上で動作するスクリプト(JavaScriptやVBScript)を使う「クライアントサイド」タイプと、サーバ側で動作する外部プログラムやスクリプトによって生成される「サーバサイド」タイプとがある。

 Amazon.co.jpのようなショッピングサイトは、サーバサイドによる動的コンテンツの典型だ。Amazon.co.jpでは、商品を選んで「ショッピングカートに入れる」をクリックすると、カートに入れられた商品が次のページにリストアップされる(画面3)。こうしたサイトでは、商品データベースを検索したり、ユーザーごとのカートの内容を書き換える(データベースを修正する)プログラムを用意し、Webサーバから呼び出す仕組みを構築している。カートに商品を追加する操作を行なうと、カート内容を書き換えるプログラムが実行され、動的コンテンツが生成されるわけだ。

画面3 Amazon.co.jpのショッピングカート。当然だが、ユーザーごとに異なった内容が表示される

 IISは、こうした機能を実現するために「CGI(Common Gateway Interface)」や「ISAPI(Internet Server Application Programming Interface)」といった機能を持っている。CGIはApacheも搭載する機能で、Webサーバから外部プログラムを呼び出す仕組みだ。外部プログラムの種類に規定はなく、Webサーバから命令を受け、実行結果をWebサーバに受け渡す機能を持つプログラムであれば、何でも利用できる。ただし一般的には、「Perl」や「Ruby」などのスクリプト言語が使われることが多い。CGIは自由度の高い仕組みではあるが、外部プログラムの起動時や出力結果の受け取りなどの処理に時間がかかってしまう欠点がある。

 一方のISAPIは、HTML内に記述されたスクリプトをサーバ上で実行する仕組みだ。このISAPIに対応したアプリケーション(ISAPIエクステンション)には、Javaのコードを実行する「JSP(JavaServer Pages)」や「PHP」、「ASP(Active Server Pages)」などがある。

 特にASPは、マイクロソフトがIIS用に開発した仕組みで、JScript(マイクロソフト版のJavaScript)やVBScriptといったスクリプト、C#という言語で開発したプログラムなどをIIS上で実行できる。HTML内に記述するだけでなく、独立したファイルとして用意し、HTMLから呼び出すことも可能だ。ASPには、スクリプトの起動や出力結果の受け取りがCGIより速い、データベースと連携するための機能などが用意されているといった長所がある。

サーバの3層化

 これらのアプリケーションを実現するためのWebサーバと外部プログラム、そしてデータベースを同一のサーバで運用することも可能ではあるが、多くのサイトがこれらを別のサーバに分散している(図1)。サーバを分けることで負荷の分散が可能なほか、万が一Webサーバに侵入されても、ユーザー情報や決済情報が保存されているデータベースサーバへのアクセスを防止できるといったメリットがある。また、Webサーバとアプリケーションサーバ、データベースサーバをそれぞれ複数用意する「冗長化」もよく使われる手法だ。

図1 サーバ機能を3台に分けた3層モデル

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

アクセスランキング

  1. 1位

    TECH

    フォーティネットの「SSL-VPN廃止」 IPsec移行と脱VPN、それぞれの注意点を総ざらい

  2. 2位

    ソフトウェア・仮想化

    「SaaSの死」の影響は感じない ― グローバル以上に好調な日本市場、ServiceNow鈴木社長が語る

  3. 3位

    ネットワーク

    ネットワークとセキュリティの統合に強み 通信事業者系ZTNA/SASEサービス3選

  4. 4位

    TECH

    「蟻の一穴」となるリモートアクセスVPNの脆弱性 ZTNA/SASEはなぜ必要か?

  5. 5位

    デジタル

    海外駐在員の負担を軽減し、ワンチームへ kintoneは言語と文化の壁を越える「翻訳の魔法」

  6. 6位

    ビジネス

    医療費5兆円抑制につながる“国産ヘルスケア基盤”構築へ SMBC×富士通×ソフトバンクが業務連携

  7. 7位

    エンタープライズ

    基盤も古いし、コードも酷い! そんなクエストにGitHub Copilotで試行錯誤しまくった「みんな」こそ最高

  8. 8位

    サーバー・ストレージ

    「30%ではなく“30倍”の生産性向上へ」 AIエージェント時代に求められるIT基盤、マイケル・デル氏が語る

  9. 9位

    ビジネス・開発

    いますぐ捨てたいITサービスは? AI推しにそろそろ飽きてません? 情シスさんのホンネを「ゆるっとナイト」で聞いた

  10. 10位

    ITトピック

    AIセキュリティで必要な6つの対策/20代の半数が「検索エンジンを使わない」/生成AIツールはエンジニアの「業務インフラ」へ、ほか

集計期間:
2026年05月19日~2026年05月25日
  • 角川アスキー総合研究所