Прискорюємо завантаження сторінок в firefox - або що робити, якщо сайти вантажаться по 20 секунд, записки у

Тільки написав запис про неможливість знайти нормальний браузер - і тут же натрапив на статтю в. англонете, що описує боротьбу з гальмами Firefox. Точніше з однієї-єдиної, але до болю знайомою багатьом Лісоводи ситуацією - на деяких сайтах Firefox починає вантажити сторінки нестерпно повільно, по 10-20 сторінок. Нерідко Лис вантажить початок сторінки і зависає на продовженні, доводячи загальний час завантаження аж до хвилини. Виявляється вся справа в одному невеликому Глюка, який лікується найпростішим зміна налаштувань - або сервера або самого браузера. Чому це не зроблено за замовчуванням - загадка. Далі переклад.

Сьогодні мій колега розповів про цікаву труднощі з Firefox. Він завантажував сторінку з нашого застосування (що працює на localhost) і вміст сторінки завантажувалося миттєво, але сама сторінка не могла завантажитися в протягом 20 секунд, поки в буквальному розумінні слова не закінчувалося час.

Всі вимірювання і в браузері і в нашому додатку показували, що дані відсилалися за мілісекунди, і весь час завантаження сторінки браузер просто нічого не робив. Ми навіть пробували використовувати останню бета-версію Firefox.

В інших браузерах нічого подібного не спостерігалося.

Щоб з'ясувати, в чому справа, довелося використовувати розширення Tamper Data.

З'ясувалося, що справа була в параметрі Connection: keep-alive в заголовку. Коли ми змінили його з keep-alive на close (з підтримувати на закривати), браузер повівся відповідно до очікувань. Тобто сторінка завантажилася миттєво.

Невелике дослідження в мережі показало, що якщо ви використовуєте параметр keep-alive, ви також повинні використовувати Content-Length: header, чого відсилає програма не робило.

Ми швидко змінили додаток так, щоб воно надсилало content length, і все чудово запрацювало.

Якщо ж у вас немає доступу до додатка, яке послилает вам веб-сторінки, ви можете зайти в about: config для зміни налаштувань network.http.keep-alive на false.

(Клікніть, щоб збільшити)

YARPP powered by AdBistro