Что может заставить Firefox запрашивать ресурс несколько раз после выполнения внешнего скрипта? - PullRequest
4 голосов
/ 30 апреля 2011

Я заметил несколько необычное поведение в Firefox, когда я включаю изображение непосредственно после вызова внешнего скрипта.

Например:

<html>
<body>

<script type="text/javascript" src='external.js'></script>
<img src="/test.gif" BORDER=0 WIDTH=1 HEIGHT=1 >

</body>
</html>

"external.js" можетбыть вообще чем угодно ... даже совершенно пустым.

Я замечаю, что когда запрос к test.gif приводит к 404 или 302, Firefox делает другой запрос на тот же ресурс сразу после завершения сценария.

127.0.0.1 - - [29/Apr/2011:16:22:22 -0400] "GET /test.gif HTTP/1.1" 404 507 
127.0.0.1 - - [29/Apr/2011:16:22:22 -0400] "GET /test.gif HTTP/1.1" 404 507

Такое поведение не наблюдается для встроенного JavaScript, и у меня отключена конвейерная обработка, поэтому я совершенно уверен, что это не связано с этим.Кажется странным поведением, или я просто упускаю что-то не столь очевидное.

Я использую Firefox 3.16 в Ubuntu, но это также было проверено в Firefox 4.0 в OSX и Firefox 3.16 в Windows.

Есть идеи?

1 Ответ

2 голосов
/ 30 апреля 2011

Это связано с тем, что предварительная выборка изображений (или, точнее, кэш изображений) в Firefox плохо работает с кодами возврата, отличными от 2xx.

В частности, для 302 проблема составляет https://bugzilla.mozilla.org/show_bug.cgi?id=552605, а для 404 проблема составляет https://bugzilla.mozilla.org/show_bug.cgi?id=648568

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...