IE の User-Agent に、Windows のバージョンが含まれていることは、おととい確認した。
では、その文字列は、実際の各バージョンとどう対応づいているのか。ぐぐってみると、およそこんな感じのようだ (UNIX 版や Mac 版、PocketIE は除く)。
OS Product Name OS in User-Agent -------------------- ------------------------- Windows 3.1 Windows 3.1 Windows 95 Windows 95 Windows 98/98SE Windows 98 Windows Me Windows 98; Win 9x 4.90 Windows NT 3.x Windows NT Windows NT 4.0 Windows NT 4.0 Windows 2000 Windows NT 5.0 Windows XP Windows NT 5.1 Windows XP SP2 Windows NT 5.1; SV1 Windows Server 2003 Windows NT 5.2
ちなみに ASP の場合、User-Agent 文字列から OS やブラウザ機能を判断するためのコンポーネントとして、Browser Capabilities (MSWC.BrowserType) が提供されている。Microsoft サポート技術情報および MSDN には、以下のような情報がある。
- 167820 - [HOWTO] スクリプトからブラウザのバージョンを調べる方法
- http://support.microsoft.com/kb/167820/JA/
- Browser Capabilities コンポーネント
- http://www.microsoft.com/windows2000/ja/server/iis/htm/asp/comp3xx0.htm
このコンポーネントは、browscap.ini というファイルに格納された情報を取り出すものなので、新しいブラウザや OS が登場したら、更新する必要がある。
- Browscap.ini ファイル
- http://www.microsoft.com/windows2000/ja/server/iis/htm/asp/comp1g11.htm
- 826905 - HOW TO: Add Internet Explorer 5.5 Information to the Browscap.ini File
- http://support.microsoft.com/kb/826905/en-us
- 311227 - [HOW TO] Internet Explorer 6 の情報を Browscap.ini ファイルに追加する
- http://support.microsoft.com/default.aspx?scid=kb;ja;311227
ASP.NET では、System.Web.HttpBrowserCapabilities クラスと、ASP.NET 構成ファイルの browserCaps 要素に置き換えられている。