Включение сжатия на AWS экземпляре EC2 - PullRequest
0 голосов
/ 02 августа 2020

У меня есть веб-приложение PHP, работающее на экземпляре AWS EC2 (Apache сервер), и в настоящее время оно не использует сжатие. Я знаю, что это можно легко сделать, изменив файл .htaccess, чтобы указать веб-серверу сжимать файлы, и мне нужна помощь, чтобы понять, что поместить в файл. Я провел небольшое исследование и нашел два популярных разных способа: первый:

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

, а второй -

<IfModule mod_deflate.c>

    # Force compression for mangled headers.
    # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
    <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
            RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
        </IfModule>
    </IfModule>

    # Compress all output labeled with one of the following MIME-types
    # (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
    #  and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
    #  as `AddOutputFilterByType` is still in the core directives).
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE application/atom+xml \
                                      application/javascript \
                                      application/json \
                                      application/ld+json \
                                      application/rss+xml \
                                      application/vnd.ms-fontobject \
                                      application/x-font-ttf \
                                      application/x-web-app-manifest+json \
                                      application/xhtml+xml \
                                      application/xml \
                                      font/opentype \
                                      image/svg+xml \
                                      image/x-icon \
                                      text/css \
                                      text/html \
                                      text/plain \
                                      text/x-component \
                                      text/xml
    </IfModule>

</IfModule>

Они оба, похоже, обычно делают одно и то же, где вы указываете, какой тип файлов и заголовков сжимаются, но я не понимаю, что я должен использовать на самом деле. . Есть ли где-нибудь документация, чтобы я мог понять каждую строчку того, что я помещаю в свой файл .htaccess?

1 Ответ

0 голосов
/ 02 августа 2020

Насколько я понимаю, mod_deflate - это официальная реализация или сжатие Apache, тогда как mod_gzip обрабатывается третьей стороной.

Вы можете найти исчерпывающую документацию для mod_deflate на Apache официальная документация. Мне не удалось найти официальный набор документации для mod_gzip, поэтому я не могу это комментировать.

Лично я бы go с mod_defalte вместо mod_gzip в первую очередь потому, что он, похоже, активно поддерживается фондом Apache, тогда как mod_gzip обслуживается третьей стороной.

...