以下斜め読んだ内容

pseudo translation of useful posts, book reviews, remarks,etc. twitter: feeddict

IE9/Chrome11/Fx4でUA Stringがシンプルになった件

追記2012.10.25:msdnにie10のua string載ってたので追加

chrome/safariのブログでも「変更するよ」アナウンス出た

IE9はすっきり、Chrome11とFx4も少しコンパクト

IEのずらずら続くコンポーネントの情報がデフォルトでは削除

//ie8
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
//ie9
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
//ie10:32bit ie  on 32bit win
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)

//firefox
//fx3.6
Mozilla/5.0 (X11; U;  Linux i686; en-US; rv:1.9.2.2) Gecko/20100324 Firefox/3.6.2
//fx4
Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

//chorme
//chrome10
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16
//chrome11
Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.16 Safari/534.24

Internet Explorer 9 - Wikipedia, the free encyclopedia

「Windows;」削除した理由

  • Webkit blogのエントリによると・・・
  • OS情報は「Windows NT 6.0」部分からわかるし不要
  • なので削除
    • Fx4でも「ほぼ」同じ理由で削除

「U;」削除した理由

  • Webkit blogのエントリによると・・・
  • 「U;」や「I;」はサポートしてる暗号化強度を示すトークン
  • 10年前に作られたトークン。
  • 「U;」は、アメリカ政府が輸出品に規定してた128ビット暗号化
  • 「I;」は、国際基準の40ビット暗号化
  • 今は128ビット暗号化をサポートしてるのは普通になった
  • なので削除
    • Fx4でも同じ理由で削除

「en-US」を削除した理由

  • Webkit blogのエントリによると・・・
  • ブラウザがサポートしてる言語についてはHTTP Accept-Languageヘッダからわかる
  • 不要なので削除
    • Fx4でも同じ理由で削除

「Windows NT6.0」は何を指してる?

  • wikipediaによると。。。
  • Windows系OSプラットフォーム

Fx/WebKitで追加された「WOW64」は何?

  • Webkit blogのエントリによると・・・
  • いわゆる「Windows 32-bit On Windows 64-bit」のこと
  • Windowの32/64ビットOSの情報がわかるように追加したトークン
  • 「WOW64」以外に「Win64」と「IA64」がある
    • Win64」はIntel64 プロセッサ
    • 「IA64」はIA-64 プロセッサ

IE/Safari/ChromeにもUA StringにMozillaの情報が入ってる(ex.Mozilla/5.0(...)のは何故?

  • wikipediaによると・・・
  • Fx系ブラウザとの互換性を明示するため
    • Operaは、Fxとの互換性を気にしてないということ・・?

割愛、or調べてない

  • IE9のie8互換モードetc..でのUA String

追記。ie10は32/64bit、ARM/notで5パターン、だけじゃない

  • タッチパネル対応のマシンかどうかチェックする「Touch」トークンが末尾に
  • msdnブログエントリから転載
  • os/ieは32bit、arm/touch非対応が一番シンプル
32 ビット版 Windows と 32 ビット版 IE10 の場合:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
64 ビット版 Windows と 32 ビット版 IE10 の場合:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
64 ビット版 Windows と 64 ビット版 IE10 の場合:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)
Windows RT の IE10 の場合:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)

//arm=no win(32bit), ie10(32bit),touch=ok
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Touch)