LOG IN SIGN UP
Documentation

Enabling automatic gzipping

  Last updated July 17, 2017

To dynamically gzip cacheable content based on file extension or content-type, 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 service version page appears.
  4. Click the Content link. The Content page appears.

    the Content page

  5. Click the Create gzip button. The Create a gzip page appears.

    create a gzip page

  6. Accept the default gzip policy by clicking Create button. The Default Gzip policy appears.
  7. Click the Create button. The new gzip policy appears.
  8. Click the Activate button to deploy your configuration changes.

Override the default gzip rule

If you want to override the default gzip rule, follow the steps below:

  1. Click the Create gzip button. The Create a gzip page appears.
  2. Click the Override these defaults link on the page. The additional gzip fields appear.

    the Create a gzip page

  3. 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. We recommend setting the Extensions to css js html eot ico otf ttf json.
    • 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. We recommended setting the Content Types to the following:
    text/html application/x-javascript text/css application/javascript text/javascript application/json application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype application/x-font-ttf application/xml font/eot font/opentype font/otf image/svg+xml image/vnd.microsoft.icon text/plain text/xml
    
  4. Click the Create button. The new gzip policy appears.
  5. 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