Nicholas C. Zakas is a web software engineer who specializes in user interface design and implementation for web applications using JavaScript, Dynamic HTML, CSS, XML, and XSLT.

HTMLにおいて画像やスクリプト、リンクのURLが「src=""」のように空指定になっている場合のブラウザの振る舞いをNicholas C. Zakas氏がNCZOnlineにおいてまとめている。HTMLでは空URLを指定していなくても、JavaScriptで同様の要素を生成すると同様のものとして処理されるので注意が必要。動作はブラウザごとに異なるが、主要なブラウザのなかではOperaのみが何も実施せず、ほかのブラウザは空URLでもリクエストを発生してしまうという。

<img src="">
<script src="">
<link rel="stylesheet" href="">
ブラウザ 振る舞い
IE6/7/8 <img src=">のみでリクエストが発生。
Firefox 3.5 <img src=">のみでリクエストが発生。
Firefox 3まで <img src=">、<script src=">、<link rel="stylesheet" href=">のすべてでリクエストが発生。
Safari4 <img src=">、<script src=">、<link rel="stylesheet" href=">のすべてでリクエストが発生。
Chrome4 <img src=">、<script src=">、<link rel="stylesheet" href=">のすべてでリクエストが発生。
Opera どのケースでもリクエストは発生しない。

ただリクエストを発生するのではなく、その結果としてページデータが取得されることになる。制作者が何もしないつもりで空URLを指定すると、それが結果としてページのパフォーマンスにもサーバのパフォーマンスにも影響する結果になる。直接の原因は参照されている仕様での説明にあるようだ。

対象 状況
ブラウザ 問題として認識し対処するケースと、仕様に追従する方を遵守し変更はしないとするケースがある。
HTML5 議論の結果、仕様レベルで空指定には何もしない旨を記載することを了承。正式版となったHTML5では空のURLが指定されている場合にはリクエストは発生しないというのが仕様レベルで明確になる見通し。
YSlow ブラウザにおける対策が進んでいるとはいえ、サーバパフォーマンスに影響をもたらす現状であることを理解。カスタムルールにこのチェックを実施するという項目を追加。

オープンソースソフトウェアとして開発が進められているブラウザやツールではこの現象を問題として認識。対処が進められているという。ただし、Microsoftのように標準規約に準拠することを優先するとし、対処しないケースもあるという。Nicholas C. Zakas氏はHTML5の策定に働きかけて、空URLの場合にリクエストが発生しないように明記するように議論を実施。HTML5からは仕様レベルでこの問題は解決することになるとみられる。

しかし、すべての主要ブラウザがこの問題に対処するにはまだ数年というスパンが必要になるとみられる。それまではコンテンツの制作側で空URLを使わないといったように対処する必要がある。