IIS Web サーバーの概要
IIS チーム、Mike Volodarsky
互換性
バージョン | メモ |
---|---|
IIS 7.0 以降 | この記事で説明されている機能は、IIS 7.0 で導入されました。 |
IIS 6.0 以前 | この記事で説明されている機能は、IIS 7.0 より前ではサポートされていませんでした。 |
IIS 7 以降の Web サーバーには、完全にモジュール化されたアーキテクチャがあり、次の 3 つの主な利点を提供します。
- コンポーネント化
- 拡張性
- ASP.NET 統合
コンポーネント化
すべての Web サーバー機能が、簡単に追加、削除、置換できるスタンドアロン コンポーネントとして管理されるようになりました。 これにより、以前のバージョンの IIS に比べていくつかの重要な利点が得られます。
- 攻撃対象となる外部からのアクセス領域を減らしてサーバーを保護します。 外部からのアクセス領域を減らすことは、サーバー システムをセキュリティで保護する最も強力な方法の 1 つです。 IIS を使用すると、未使用のサーバー機能をすべて削除して、アプリケーションの機能を維持しながら、外部からのアクセス領域を可能な限り小さくできます。
- パフォーマンスを向上させ、メモリ占有領域を減らします。 未使用のサーバー機能を削除すると、サーバーが使用するメモリの量も削減できます。また、アプリケーションに対するすべての要求で実行される機能コードの量を減らすと、パフォーマンスを向上させることができます。
- カスタムまたは特殊サーバーを構築します。 サーバー機能の特定のセットを選択すると、エッジ キャッシュや負荷分散など、アプリケーション トポロジ内で特定の機能を実行するために最適化されたカスタム サーバーを構築できます。 新しい拡張性 API に基づいて構築された独自のまたはサード パーティ製のサーバー コンポーネントを使用して、カスタム機能を追加して既存の機能を拡張または置き換えることができます。 コンポーネント化されたアーキテクチャは、IIS コミュニティに長期的なベネフィットをもたらします。これにより Microsoft 社内とサード パーティ開発者の両方で必要とされる新しいサーバー機能の開発が容易になります。
IIS では、アプリケーション プールを使用して IIS 6.0 で導入された強力な HTTP プロセス アクティブ化モデルもコンポーネント化されています。 HTTP プロセス アクティブ化モデルは、Web アプリケーションだけでなく、任意のプロトコル経由で要求やメッセージを受信するために使用できます。 このプロトコルに依存しないサービスは、Windows プロセス アクティブ化サービス (WAS) と呼ばれます。 Windows Communication Foundation (WCF) には、WAS の機能を活用できるプロトコル アダプターが付属しており、WCF サービスの信頼性とリソースの使用率が向上します。
拡張性
開発者は、IIS のモジュール型のアーキテクチャを活用して、既存の Web サーバー機能を拡張または置き換え、IIS でホストされている Web アプリケーションに価値を付加する強力なサーバー コンポーネントを構築できます。
IIS 用に開発する理由を次に示します。
- Web アプリケーションを強化する。 IIS を拡張すると、多くの場合アプリケーション レイヤーでは容易に提供できない機能を、Web アプリケーションで利用できるようになります。 IIS ASP.NET またはネイティブ C++ の拡張性を使用すると、開発者は、カスタム認証スキーム、監視とログ、セキュリティ フィルター処理、負荷分散、コンテンツ リダイレクト、状態管理など、すべてのアプリケーション コンポーネントに価値を付加するソリューションを構築できます。
- 開発エクスペリエンスの向上。 新しい C++ 拡張性モデルにより、これまで ISAPI 開発を悩ませていた問題のほとんどが軽減され、堅牢なサーバー コードの作成を促進する簡素化されたオブジェクト指向 API が導入されます。 さらに、Visual Studio との統合が強化されたことで、IIS の開発エクスペリエンスがさらに向上しています。
- ASP.NET.を最大限に活用するASP.NET 統合サーバー モジュールは、ASP.NET 2.0 豊富な ASP.NET アプリケーション サービスの使い慣れたインターフェイスを使用して開発できます。 ASP.NET モジュールは、ASP、CGI、静的ファイル、その他のコンテンツ タイプに対してサービスを均一に提供でき、以前のバージョンの IIS にあった制限なしにサーバーを完全に拡張できます。
ASP.NET 統合
IIS を使用すると、Web アプリケーションは ASP.NET 2.0 の強力な機能と拡張性を最大限に活用できます。 フォーム ベースの認証、メンバーシップ、セッション状態、その他多くの ASP.NET 機能をあらゆる種類のコンテンツに使用でき、Web アプリケーション全体にわたって統一されたエクスペリエンスを提供します。 開発者は、使い慣れた ASP.NET 拡張性モデルと豊富な .NET API を使用して、ネイティブ C++ API を使用して記述されたものと同じくらい強力な IIS サーバー機能を構築できます。
以下のリンクを使用して、IIS 構成の側面の学習を開始し、概要に関するラボを参照し、IIS.NET ですぐに利用できるリソースを含むキットをダウンロードしてください。
学習を開始する
- IIS モジュールの概要
- ASP.NET と IIS の統合
- IIS 統合パイプラインを利用する方法
- エンド ツー エンドの拡張性の例
- カスタマイズされたサーバーの構築
- .NET を使用したモジュールの開発
- ネイティブ (C\C++) モジュールの開発
作業の開始
- Windows Server 2008 R2 Evaluation Edition とバーチャル ラボ (
https://www.microsoft.com/server-cloud/windows-server/2008-r2-trial.aspx
)
ダウンロード