Search code examples
httpcompressiongziphttp-accept-encoding

What is the canonical method for an HTTP client to instruct an HTTP server to disable gzip responses?


I thought this was a simple google search, but apparently I'm wrong on that.

I've seen that you should supply:

Accept-Encoding: gzip;q=0,deflate;q=0

in the request headers. However, the article that suggested it also noted that proxies routinely ignore that header. Also, when I supplied it to nginx, it still compressed the response message body.

http://forgetmenotes.blogspot.ca/2009/05/how-to-disable-gzip-compression-in.html

So, how do I tell a web server to disable compression on the response message body?


Solution

  • Do you wish encoding to be disabled altogether?
    Then skip the Accept-Encoding header itself within http request headers.

    Do you wish only gzip compression to be absent in the http response?
    Then skip gzip from the values list in the http request header.

    Do you wish to prioritize different compression techniques that servers support? then use different values between 0 and 1 along-with q argument for each value in the Accept-Encoding http request header. (Currently you are using conflicting value and indicating by weight=0 that you don't know how you'll manage, but you want response to be encoded anyhow)