В течение последних двух месяцев я получал следующую ошибку на консоли разработчика Chrome:
net::ERR_INCOMPLETE_CHUNKED_ENCODING
Симптомы:
- Страницы не загружаются.
- Усеченные файлы CSS и JS.
- Страницы висят.
Серверная среда:
- Apache 2.2.22
- PHP
- Ubuntu
Это происходит со мной на нашем собственном сервере Apache. Это не происходит ни с кем другим - то есть никто из наших пользователей не сталкивается с этой проблемой - и никто другой в нашей команде разработчиков.
Другие люди получают доступ к тому же серверу с точно такой же версией Chrome. Я также попытался отключить все расширения и просмотр в режиме инкогнито - безрезультатно.
Я использовал Firefox, и происходит то же самое. Усеченные файлы и еще много чего. Единственное, что Firefox не вызывает никаких ошибок консоли, поэтому вам нужно проверить HTTP-запрос через Firebug, чтобы увидеть проблему.
Заголовки ответа от Apache:
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:close
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Mon, 27 Apr 2015 10:52:52 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Server:Apache/2.2.22 (Ubuntu)
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.10-1ubuntu3.8
Во время тестирования я смог решить проблему, применив HTTP 1.0 в моем файле htaccess:
SetEnv downgrade-1.0
Это избавляет от проблемы. Однако принудительное использование HTTP 1.0 вместо HTTP 1.1 не является правильным решением.
Обновление : поскольку я единственный, кто сталкивается с этой проблемой, я решил, что мне нужно потратить больше времени на выяснение того, было ли это проблемой на стороне клиента. Если я зайду в настройки Chrome и воспользуюсь опцией «Восстановить по умолчанию», проблема исчезнет на 10-20 минут. Тогда это возвращается.
while($row = mysql_fetch_assoc($result))
может содержать слишком много пустых строк, что вызывает усечение веб-браузерами