Apache статически и динамически сжатый контент - PullRequest
2 голосов
/ 26 мая 2011

У меня есть веб-сайт с динамически генерируемым (PHP) и статическим контентом. Настройка Apache для прозрачного сжатия всего в соответствии с согласованием содержимого - пустяк.

Тем не менее, меня интересует не сжатие статического содержимого, которое редко, если вообще меняется, а вместо этого подача предварительно сжатых данных в режиме asis.

Идея, стоящая за этим, состоит в том, чтобы уменьшить задержку и сэкономить энергию процессора, и в то же время лучше сжать. По сути, вместо того, чтобы снова и снова сжимать одни и те же данные, я бы хотел, чтобы сервер sendfile содержал содержимое, не касаясь его, но с соответствующими заголовками. И, в идеале, он будет бесперебойно работать с файлами .html и .html.gz, используя прозрачное сжатие в одном случае и ни одно в другом.

Существует mod_asis, но он не обеспечит правильные заголовки (наиболее важные из них влияющие на работу кэша и прокси-сервера) и не зависит от согласования содержимого. Добавление content-encoding для .gz кажется правильным, но ничего не дает, веб-страницы «.html.gz» отображаются в виде загрузок (возможно, это мешает некоторой карте типов по умолчанию?).

Кажется, что gatling webserver делает именно то, что я хочу в этом отношении, но я бы действительно предпочел остаться с Apache, потому что, несмотря ни на что, можно обвинить Apache, это единственный основной сервер, много лет работал нормально.

Другим обходным решением может быть предоставление статического контента другому серверу на другом порту или поддомене, но я бы предпочел, чтобы он работал просто «невидимо», и если бы система не была сделана более сложной, чем необходимо.

Существует ли известная идиома конфигурации, которая заставляет Apache вести себя указанным способом?

...