У меня проблема с запросами POST на Django.Когда я отправляю запрос POST, требуется 12-13 секунд, чтобы его выполнить.При отправке того же запроса, но с использованием метода GET, все в порядке.
Я создал тестовое представление, которое делает только отправку запроса GET или POST:
http://celeb -дни рождения.clearsoft.pl/star-birthdays/empty/
YSlow показывает, что GET загружается за 0,2 с, но для загрузки POST требуется более 12 с.Проблема не воспроизводится на локальном хосте, только на удаленном сервере.
Еще более интересно то, что добавление DebugToolbarMiddleware решает проблему.
Любые идеи, которые могут быть причиной или что делать дальше?
Редактировать:
Как сказал @Yuji Tomita, сервер действительно не завершал ответ до истечения времени ожидания.Помогает замена «Connection: keep-alive» на «Connection: close» в заголовке запроса http, но это недопустимое решение этой проблемы ...
Я также обнаружил, что он быстро загружается, когда HTTP-ответ имеетустановлен атрибут Content-Length.Поэтому я добавил промежуточное программное обеспечение django.middleware.gzip.GZipMiddleware, которое gzip-s ответ и устанавливает Content-Length.Это не ТАК неправильно, поскольку рекомендуется HTTP-сжатие, тем не менее, это все еще обходной путь, потому что отсутствие атрибута «Content-Length» не является причиной проблемы.