Ответ 1
Вам просто нужно использовать wsgi-промежуточное программное обеспечение, которое gzips ответ. См. Gzipping всего HTTP-трафика с помощью Pyramid или http://librelist.com/browser//flask/2010/6/14/gzip-compression/
Как включить компрессию GZIP в новом стекле Керока Героку? Это прямо из сайта:
Так как запросы к приложениям Cedar производятся непосредственно на сервер приложений - не проксированные через HTTP-сервер, такой как nginx, любое сжатие ответов должно выполняться в вашем приложении. Для приложений Rack это можно выполнить с помощью промежуточного программного обеспечения Rack:: Deflater. Для статических активов gzipped убедитесь, что Rack:: Deflater загружен до ActionDispatch:: Static в стеке промежуточного программного обеспечения.
Если я правильно прочитал, мой код приложения Python теперь отвечает за gzipping ответов? Как мне сжать мои статические активы (например, css/js)? Я использую Flask и GUnicorn.
Вам просто нужно использовать wsgi-промежуточное программное обеспечение, которое gzips ответ. См. Gzipping всего HTTP-трафика с помощью Pyramid или http://librelist.com/browser//flask/2010/6/14/gzip-compression/
В соответствии с спецификацией WSGI, опубликованной в 2003 году, приложениям не следует gzip-ответы, но оставить это на сервере (предположительно Apache, работает приложение CGI-stylee).
Приложенияи промежуточное ПО не должны применять к их выходу какой-либо Transfer-Encoding, такой как chunking или gzipping; как операции "прыжок в хоп", эти кодировки являются областью фактического веб-сервера/шлюза.
Но сегодня в 2013 году, часто приложение является сервером. WSGI этого не ожидал. Это проблема, согласно http://www.b-list.org/weblog/2009/aug/10/wsgi/
WSGI с любопытством настаивать на совместимости с CGI также означает, что здесь, в 2009 году, мир веб-разработки Python до сих пор не смог значительно улучшить модель программирования приложений 1997 года.