У меня была эта проблема в течение довольно долгого времени, когда веб-сайты, просматриваемые через браузеры на основе webkit, загружали изображения непоследовательно. Под непоследовательностью я подразумеваю, что при одном пробном запуске изображение или несколько изображений будут загружаться успешно, а для других - нет. При другом пробном запуске того же самого сайта изображения, которые ранее не загружались, неожиданно загружаются - только для того, чтобы загружать ранее загруженные изображения, внезапно не загружаться. Такое поведение настолько нелинейно, что мне очень трудно найти источник проблемы. Я заметил, что эта проблема может быть воспроизведена в таких браузерах, как jumanji
, dwb
и vimperator
. Я считаю, что общий фактор среди всех этих браузеров заключается в том, что они используют webkit
. Повторная перезагрузка веб-страницы иногда приводит к тому, что все ресурсы загружаются правильно.
Вот скриншот описанного поведения (из luakit
основе webkit ):
Как вы можете видеть, это два неудачных изображения, которые иллюстрируют общее поведение здесь. Я не могу повторить эту проблему с браузерами, такими как firefox или chrome (которые, я считаю, используют gecko
и blink
соответственно). Если я щелкну правой кнопкой мыши на изображение / элемент и открою его в новом окне, я смогу просмотреть изображение без проблем. Я использую ядро Arch Linux 3.12.9-1-ck. Любая помощь / понимание того, что может происходить, будет высоко ценится. Спасибо.
ОБНОВЛЕНИЕ: Каждое испорченное изображение, когда проверяется как элемент путем отладки консоли в luakit, выводит что-то такого общего вида:
GET [web address here] Cannot resolve hostname [domain here]
ОБНОВЛЕНИЕ 2: Я попытался установить luakit
на виртуальной машине kali-linux
, установленной в моей системе (на основе debian), через apt-get install luakit
, и интересный результат ... Нет симптомов неразрешенных имен хостов / неработающих изображений / сбойных ресурсов. Браузер также сравнительно быстрее в этой виртуальной среде.
Решение:
Следуя предложению @harrymc (используя публичный DNS Google), он полностью уничтожил все признаки плохой загрузки страниц. Согласно @harrymc, это происходит из-за неисправного / медленного DNS и / или плохой стратегии кэширования DNS. В частности, причиной этой проблемы был плохой DNS и довольно спешный протокол тайм-аута, встроенный в движок webkit
. Эти два фактора являются причиной катастрофы.
Более открытая мысль-арка:
Еще одним выводом является неэффективность браузеров Webkit в том, что они выдают несколько DNS-запросов для одного и того же сайта, а не запоминают первый запрос. Другой вывод заключается в том, что DNS-сервер провайдера, по-видимому, иногда не может обрабатывать несколько параллельных запросов (поскольку браузер, вероятно, обрабатывает несколько изображений параллельно через потоки), возможно, потому, что у них теперь больше клиентов, но недостаточно DNS-серверов. --harrymc