#perl #apache #dancer #http-content-length
#perl #apache #dancer #http-content-length
Вопрос:
Я только начинаю настраивать приложение с использованием Perl Dancer на Apache. Я использовал предоставленный скрипт dancer для настройки моей первоначальной структуры каталогов и смог настроить все до такой степени, что увидел начальную страницу «Perl is Dancing». К сожалению, я заметил, что самый конец HTML-разметки не включается, когда я просматриваю исходный код. Дальнейшее расследование с помощью Fiddler выявило следующую ошибку:
Несоответствие длины содержимого: в заголовке ответа указано 3168 байт, но сервер отправил 3 364 байта.
Увидев это, я провел некоторые дополнительные эксперименты, запустив приложение Dancer напрямую через вызов app.pl из командной строки. Когда я обращаюсь к этому серверу, я получаю полную HTML-разметку, а не содержимое -о проблемах с длиной содержимого сообщает Fiddler.
У кого-нибудь есть какие-либо идеи, почему я могу видеть эту проблему с неправильной длиной содержимого при запуске через Apache? Я должен также упомянуть, что я выполняю сгенерированный CGI-скрипт, который вызывает app.pl через Plack::Runner. Пожалуйста, дайте мне знать, если мне нужно предоставить дополнительные сведения.
Версия Dancer равна 1.3030, а версия Plack равна 0.9976.
Комментарии:
1. Полезно знать ваши версии Dancer и Plack.
Ответ №1:
Оказывается, была проблема с Plack. В истории изменений упоминается «Исправлен обработчик CGI / FastCGI, чтобы гарантировать, что новые строки не искажаются на платформах Win32» для версии 0.9977 (я не упомянул ранее, что я работаю на Win32). Я обновил Plack до последней версии (в настоящее время 0.9978), и проблема исчезла.