IIS のバージョン
IIS のバージョンと歴史
IIS は Windows NT4 用の IIS 3.0、NT4 Option Pack の IIS 4.0 から徐々にメジャーとなり、Windows 2000 で IIS 5.0 になり、 COM+ と共に広く使われるようになりました。
Windows Server 2003 の IIS 6.0 からは HTTP プロトコルの処理をカーネルモードに移し、 IIS 7.0 で遂に ASP.NET 等の処理が、ウェブコアに HTTP パイプラインとして統合されました。
このサイトの情報と IIS のバージョン
このサイトでは最新情報のみならず、以前の IIS 5.0 や IIS 6.0 までをしっかり幅広くまとめていこうと思っています。
なぜなら、新しい製品や新しいバージョンがリリースされたとしても、Windows 上で動くプログラムとして、 昔から変らないところもあるからです。それは Windows の 「基礎」 とか 「原則」 ともいえる部分です。
Windows によるシステムを設計する上で、基礎技術の積み重ねは非常に大切です。
例えば昔からよくある問題なのですが、「クレデンシャルのダブルホップ問題」 というのがあります。
この問題は Web のアプリケーション内でバックエンドで、リモート・リソースにアクセスしてる場合に発生します。 この構成の時によく、IIS 上の IE からであればエラーが発生しないのに、それ以外のマシンからアクセスするとエラーが発生する、というような現象が発生します。
この類の問題は Windows のセキュリティシステムの基礎から考えて、当然発生するべくして発生するエラーである場合がほとんどです。 逆に言えば、Windows のセキュリティシステムを理解していれば防ぐことが出来た問題、あるいは、すぐに解決できる問題であったりします。 そして、このような問題については通常、ドキュメントされることはあまりありません。
それぞれの仕組みを理解していれば、論理的に結論できる事柄だからです。
私はそのような基礎、原則を理解することがとても大切だと考えています。
以前私がマイクロソフトにいた頃には、ある問題に対してそれが IIS の不具合かどうか判定するような仕事も、 実はしていました。そういう判定をする場合は、Windows 全体としてどのように動くべきだったか考慮に入れなければいけないのです。
こういう事情を、上手に説明してお客様に理解していただけないと、「マイクロソフトは不具合も仕様と言う」 というような不評を買うことになってしまうのですが...
当サイトではそういう 「基礎」 や 「原則」 について、ゴタクを並べて知的好奇心をくすぐるだけではなく、 実際に動くコードを示しながら目で見てそれを理解できるように配慮しているつもりです。
... といっても、あまり古い情報ばかりじゃ役に立たないかもしれませんので (笑)、 特にクイックスタートガイドなどは IIS 7.0 以上を主に扱いたいと思います。