RSS

The Internet Explorer 8 User-Agent String

04 7月

こんばんは。
まだ IE8 Beta 1 がリリースされる前に公開された User-Agent String についての Blog 記事です。

IE7 の Beta の時は、TechEd などで Beta 版と見分けるために "MSIE 7.0b" というようにバージョンの末尾に Beta を意味する "b" が付いていました。
結局のところ、IE7 でも途中からこれが不評だったので、外したのですが、IE8 になってどのようになったのか?どのようにするのがベストか?といったことを、また Eric がまとめてくれているので、紹介します。

—————————————————

Thursday, February 21, 2008 3:07 PM

The Internet Explorer 8 User-Agent String

Dean がアナウンスしたように Internet Explorer 8 のベータバージョンは 2008年の前半にリリースされる予定です。

すべての Web がリクエストする HTTP ヘッダーには "User-Agent" と呼んでいる訪問者のブラウザがどんなタイプでどのバージョンのものなのか?をサーバーが認識するためのシンプルなストリングが含まれています。 より深く User-Agent String を理解するためには Understanding User-Agent Strings をご覧ください。

リリース時には、IE8 Beta 版はアップデートされた User-Agent 文字列を提示します。 IE8 では、我々はシンプルに "MSIE 7.0" を "MSIE 8.0" へと置き換えます。例えば、Windows Vista で IE8 は次の User-Agent を送信します。

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)

ベスト プラクティス
User-Agent の変更に影響を受けやすい Web サイトは、IE8 をサポートできるようにアップデートする必要がでてきます。

社内テストの間、我々は、特定の IE のバージョン文字列を探し出して正確なストリングマッチを行っているために、 IE8 を認識できないいくつかのサイトに遭遇しました。これらのチェックは削除するか IE8 に適用するためにアップデートする必要があります。 技術文書の Best Practices for detecting the Internet Explorer version にて、サンプルコードと共に対策が載っていますので参考にしてください。

技術文書の Best Practices 内で注目すべき点では、ブラウザの user-agent stringt を元にコンテンツへのアクセスをブロックすることはお勧めできません。 もしあなたが (コンテンツの) 性能の向上のために異なるバージョンのブラウザに対して異なるコンテンツをオファーする必要があるなら、あなたは未来のバージョンのブラウザはブロックされないようにすべきです。 user-agent string だけによってコンテンツを提供することは、ブラウザで何ができるのか?を確認する方法としては、信頼度の低い方法になります。なぜなら利用者は、スクリプトの実行やエクステンションの利用を無効にするなどのいくつかの設定を適用していることがあるからです。

Beta バージョンの検出方法
IE7 Beta では、User-Agent 文字列に
"b" が加えられていました。

Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0

… ブラウザがベータ版であることを確認するために。 これが前の IE のリリースと一致している間は、多くのサイト互換性の問題を引き起こすことになっていました。 サーバー側のコードは MSIE と次のセミコロンの間にある文字列をフローティングポイントナンバーへ出そうと試み、そして "b" の文字に出くわした時に失敗していました。

同じ問題を IE8 ベータ版で防ぐために、我々は IE8 のベータ版の User-Agent 文字列に "b" をつけることはしません。 (Web) ページは次のスクリプトを使うことによって、ベータバージョンを使ってアクセスしていることを確認することができます:

if ((null != window.navigator.appMinorVersion) &&
    (window.navigator.appMinorVersion.toLowerCase().indexOf("beta")>-1))

       window.alert("This is a beta browser.")
}
else

       window.alert("This is NOT a beta browser.");
}

User-Agent のなりすまし (Spoofing) について

もしあなたが今日( … この当時まだ Beta 版は公開されていなかったので… ) 新しい IE8 の User-Agent 文字列によってあなたのサイトがどのような動作をするのかを確認したいならば、レジストリによって User-Agent を上書きすることによって IE7 を masquerade as Internet Explorer 8 (IE8 にみせかける) ことができます。 

ベータ ユーザーの利便性のために、再起動を必要としない IE8 ベータ版を IE7 にみせかけるための新しいメニューオプションをベータ版に実装されます。 When the “Report IE7 User-Agent string” オプションにチェックが入っていれば、IE8 をまだサポートしていないどんな Web サイトとの通信においてもベータユーザーに IE8 は IE7 の User-Agent を送信することができます。(結局のところ、これは、 Beta1 では Emulate IE7 ボタンを有効にすることで実現可能になっています。)

Eric Lawrence
Program Manager

広告
 
コメントする

投稿者: : 2008-07-04 投稿先 Internet Explorer

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。