Getting started
Basics
Domains & Origins
Performance

Configuration
Basics
Conditions
Dictionaries
Domains & Origins
Request settings
Cache settings
Headers
Responses
Performance
Custom VCL
Image optimization
Video

Security
Access Control Lists
Monitoring and testing
Securing communications
Security measures
TLS
Web Application Firewall

Integrations
Logging endpoints
Non-Fastly services

Diagnostics
Streaming logs
Debugging techniques
Common errors

Account info
Account management
Billing
User access and control

Reference

    Enabling automatic gzipping

      Last updated October 11, 2018

    Fastly's gzip feature dynamically fetches content from origin, compresses it, and then caches it. There are two ways to enable gzip:

    Enabling gzip

    To dynamically gzip cacheable content based on file extension or content-type, follow the steps below to enable the default gzip policy:

    1. Log in to the Fastly web interface and click the Configure link.
    2. From the service menu, select the appropriate service.
    3. Click the Configuration button and then select Clone active. The Domains page appears.
    4. Click the Content link. The Content page appears.
    5. Click the Default gzip policy switch to enable gzip.
    6. Click the Activate button to deploy your configuration changes.

    Setting up an advanced gzip policy

    To customize the content that’s compressed and the conditions under which this compression occurs, follow the steps below:

    1. Log in to the Fastly web interface and click the Configure link.
    2. From the service menu, select the appropriate service.
    3. Click the Configuration button and then select Clone active. The Domains page appears.
    4. Click the Content link. The Content page appears.
    5. Click the Set up advanced gzip button. The Create a gzip page appears.
    6. Click the Override these defaults link. Additional gzip fields appear.

      Create a new gzip

    7. Fill out the Create a gzip fields as follows:
      • In the Name field, type an arbitrary name for your new gzip rule.
      • In the Extensions field, type the file extension for each file type to be dynamically gzipped, separated by spaces. Only type the three- or four-letter string representing the file extension.
      • In the Content Types field, type the content-type for each type of content you wish to have dynamically gzipped, separated by spaces. Do not use regular expressions.
    8. Click the Create button. The new gzip policy appears.
    9. Click the Activate button to deploy your configuration changes.

    Automatic normalization

    Because gzip is one of the most common reasons to vary output based on a request header, Fastly will normalize the value of Accept-Encoding on incoming requests. The modified header will be set to a single encoding type, or none, and will reflect the best compression scheme supported by the browser. This includes removing Accept-Encoding values in requests from browsers that advertise support for gzip but whose implementation is broken, such as IE6.

    Specifically, we run the following steps on inbound requests:

    1. If the User-Agent matches a pattern for browsers that have problems with compressed responses, remove the Accept-Encoding header
    2. Else if the Accept-Encoding header includes the string "gzip", set the entire value to the string "gzip"
    3. Else if the Accept-Encoding header includes the string "deflate", set the entire value to the string "deflate"
    4. Else remove the Accept-Encoding header

    Where this normalization process has changed the header value, the original value is made available in the custom header Fastly-Orig-Accept-Encoding.

    If a user agent advertises support for brotli, currently we will normalize this to gzip because we do not support brotli encoding at the edge. However, if you are doing brotli encoding at your origin server, you may want to modify our normalization algorithm.

    Back to Top