IE9 RC マイナーな変更点リスト

Eric Lawrence さんから、IE9 RC Minor Changes List - EricLaw's IEInternals - Site Home - MSDN Blogs の翻訳の許可をもらったので訳してみました。間違い等あれば教えてください。



遡ること9月に、私はIE9のマイナーな変更点のリスト*1を公開しました。今日は、IE9リリース候補版で変更された点について紹介します。注意:このリストは当時言及しなかったBetaでの変更点もいくつか含んでいます。 もちろん、ここには含まれていない多数の変更点があるので、この記事を完全なリストとは思わないでください。また、IEBlog上で論じられているような大きな機能変更については意図的に飛ばしている点にも注意してください。
過去にこのブログで論じた、IE9の新機能や改善点については BetterInIE9タグを検索することで参照できます。

標準化 / 相互運用性の向上

  • window.location の操作によるナビゲーションがHTTP Refererヘッダを送信するようになりました。
  • IE9モードのページでは、postMessage() API は非同期動作をするようになりました。
  • IE9は、type属性が "image/x-icon" の LINK REL="ICON" タグを favicon として取得します。
  • IE9ブラウザモードでは、コンテンツに応じたACCEPTヘッダを送信します。
  • Canvas にて globalCompositeOperation をサポートしました。
  • Canvas にて同一オリジンのvideoコンテンツであれば描画後の toDataURL() をサポートします。注意: toDataURL() メソッドは誤った文字列終端のヌルバイトを返します。RCでは修正されませんでした。
  • 複数のネットワークキャッシュを正しくし(age と max-age、Expires < Date など)、clock-skew 問題を修正しました。
  • IE9スタンダードモードに限り、form の accept-charset 属性に "utf-8" が与えられていたときにはつねに form データを utf-8エンコードするようになりました。IE8以前でのフォームのエンコーディングのデザインは、そのページのエンコーディングを使用するというものでした。accept-charset=utf-8 が指定された form で、ページのエンコーディングでは表現できないテキストを含む場合のみIE8以降ではutf-8でsubmitしていました。
  • IE8とIE9スタンダードモードでは file:// プロトコルの base タグを正しく取り扱うようになりました。
  • IE9ドキュメントモードにおいてファイルをアップロードする際、IEは標準化以前のMIMEタイプ(image/x-pngimage/pjpeg)を送信しなくなりました。代わりに image/png および image/jpg を送信します。レガシーモードでの動作は変更されていません。
  • script タグは onload イベントを fire するようになりました。
  • ファイルのダウンロードにおいて、Content-Disposition: attachment ヘッダに filename* トークンを用いて、非ASCIIのファイル名を指定することができます。IE9utf-8 のファイル名を RFC5987 の filename* パラメータでサポートします。
  • IE9ブラウザモードでは、localStorage と sessionStorage はオリジンごとにストレージを遮断するためにプロトコル/スキーマを評価します。
  • IE9ドキュメントモードでのカスタムカーソルの最大サイズが128×128に拡大されました。レガシーモードでは32×32です。
  • window.prompt() をインターネットゾーンから呼び出した場合でも、セキュリティ上の警告は出なくなりました。
  • アンカータグ内のinput要素、button要素はクリックされたときに動作するようになりました。
  • XMLHttpRequest オブジェクトはサーバの返したMIMEタイプが +xml で終わってるときには、responseXML プロパティを生成します。これまでは text/xml あるいは application/xml だけでした。
  • 拡張されたパーミッションセットを持ったUnix FTPサーバの場合でも、FTPビューが正しく動きます。

ネットワーク

  • IE9 beta で壊れていた、SOCKS v4 プロキシを再度サポートしました。
  • Visual Studio Test Server 上で訪れたページ(例えば ASP.NET web プロジェクトでF5押下など)での「ページを表示できません」のエラーが出なくなりました。(Connect #601047)
  • MIMEスニフィングに使われる FindMIMEFromData 関数は、pwzURLパラメータに与えられたクエリー文字列を一切使わなくなりました。
  • WinINETの早すぎるFIN検知は削除されました。これは将来のブログのテーマです。
  • ダウンロードしたファイルの名前に含まれるスペース文字がアンダースコアに置き換わることはなくなりました。
  • ダウンロードした実行可能ファイルがキャッシュからの実行時にリネームされることはなくなりました。
  • 登録されたMIMEフィルタのロード時に、サーバからのContent-Typeヘッダでcharsetが指定されていたとしても、URLMon はそれを無視するようになりました。
  • ダウンロードしたファイルのMIMEタイプがおかしく、スニフした結果 ZIP ファイルであったとしても、ファイルの拡張子がフォーマット上zip構造を持つものと合致する場合には zip ファイルとして扱いません。それらには以下が含まれます。[".zipx", "accdt", "crtx", "docm", "docx", "dotm", "dotx", "gcsx", "glox", "gqsx", "potm", "potx", "ppam", "ppsm", "ppsx", "pptm", "pptx", "sldx", "thmx", "vdw", "xlam", "xlsb", "xlsm", "xlsx", "xltm", "xltx"]
  • RESプロトコルによるコンテンツのMIMEタイプが誤って解釈されていたバグを修正しました。これは多数のアプリケーションで不具合を発生させていました。
  • text/plain として受け取ったファイルにて、テキストではない文字(9-13、27、31-255の範囲外のバイト値)が見つかった場合、IEはファイルをtext/plainとしては扱わず、ダウンロードダイアログを表示します。
  • HTTPSサイトで no-cache ヘッダがついている場合でも、ファイルをダウンロードして保存することが可能になりました。
  • XDomainRequest オブジェクトが InPrivate ブラウジングモードのときに常に失敗していた問題が修正されました。
  • Proxy のバイパスリストとして、127.0.0.1 あるいは localhostトラフィックを送信するときの proxy 設定として <-loopback> トークンをサポートしました。
  • UserAgent 文字列の構築にあたり、IE9\Internet Settings\User Agent\ 以下の Pre および Post Platform レジストリキーを読まなくなりました。Internet Settings\5.0\User Agent\以下が使用されます。
  • about プロトコルにおいてhttpとhttpsの混在サイトの通知が発動することはなくなりました。*2

セキュリティ

  • アドレスバーにテキストを貼り付けたときには、javascript: というプレフィックスは削除されます。これは、ソーシャルネットワーク上でよく見られる、ユーザ自身の手によるXSSというソーシャルエンジニアリングXSS攻撃を軽減します。
  • 相互運用性: CSS履歴による漏洩を軽減するため、 visited リンクの保護が追加されました。サポートされていないスタイルのパターンは F12開発者ツールのコンソールにログが残るようになりました。
  • IE9 beta で導入されたCSSのMIMEタイプの厳密な照合は延期されました。ドキュメントモードやオリジンに関わらず、X-Content-Type-Options: nosniff がついていれば、スタイルシートはContent-Typeとしてtext/cssが必要で、そうでないものはスタイルシートとして適用されません。
  • ピンサイト機能は(リンクの上書きなしに)証明書エラーを致命的であると扱います。ピンサイトは適切なHTTPS URLでピン固定できるということと相まって、セキュアなサイトをタスクバーにピン固定する際の "man-in-the-middle" 攻撃を防ぐことができます。

様々な変更点

  • window.navigator.appMinorVersion の値が "Beta" から "RC" に変更されました。最終的には "0" になる予定です。
  • Webブラウザコントロール内での In-place shell ナビゲーションがブロックされることはなくなりました。
  • .NET Framework XAML ブラウザアプリケーション(XBAP) がインターネットゾーンで動作することはなくなりました。それらはローカルイントラネットあるいは信頼済みゾーンで動作します。
  • JavaScriptの書式設定(Format JavaScript) オプションがF12開発者ツールの Script タブ設定ボタンに追加されました。
  • Direct Intranet Navigation 機能が利用可能になりました。Go to an intranet site for a single word entry オプションが ツール > インターネットオプション > 詳細設定 に追加されました。これにより、自動での検索よりもイントラネットへの接続を選ぶことができます。
  • favicon のデスクトップへのドラッグ&ドロップにより、"サイトモード" のブラウザインスタンスを生成します。Shiftキーを押しておくことで、従来のショートカットの追加となります。
  • (Windows Updateによる)強制的なリスタート後、IE9のタブが正しく復元されます。
  • IE9ブックマークレットのサポートも改善しました。- URLの長さの制限が緩和され、いくつかのセキュリティ上のプロンプトも調整されました。
  • "暗号化されたページをディスクに保存しない" オプションが設定されていない限り、新しいタブページはHTTPSページで表示されます。

パフォーマンスの改善

  • 多数のネットワークパフォーマンスの改善がなされました。これについては後日 IEBlog で書く予定です。
  • XSSフィルタの大きなパフォーマンス改善がなされました。
  • Canvas の操作に関しても大きくパフォーマンスを改善しました。
  • CSSのダウンロードが待機中のときの応答について大きく改善しました。
  • ページ内の検索(特に大きなドキュメント)のパフォーマンスが劇的に改善しました。


より多くの変更点をMSDNでのIE9の記事IE9 RC リリースノートで調べることができます。IEチームは、重要な新しい機能について、より詳しくIEBlogに書く予定です。

今のところこのような感じです。みなさんがIE9 リリース候補版を楽しんでくれることを期待しています。ダウンロードはこちらから。

-Eric