0

While trying to work out why Static File Compression wasn't working on one of our IIS servers, the error was coming back as "NO_COMPRESSION_10" which translates to:

Server not configured to compress 1.0 requests

Looking at the requests in Fiddler, I can see that I'm requesting HTTP 1.1, but everything is being sent back as HTTP 1.0:

Request (from chrome, captured via Fiddler):

GET /css/reset.css HTTP/1.1
Host: [-----].com
Connection: keep-alive
Cache-Control: max-age=0
If-Modified-Since: Tue, 16 Oct 2012 15:04:34 GMT
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
Accept: text/css,*/*;q=0.1
Referer: http://[-----].com/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

Response from IIS:

HTTP/1.0 200 OK
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 11 Dec 2012 11:57:03 GMT
Connection: close
Content-Length: 108837

Other servers with the same host that I'm running this site on all respond with HTTP/1.1.

How can I persuade IIS to respond with HTTP/1.1 rather than HTTP/1.0?

Edit to add:

Digging deeper, I can see that some responses from the server are indeed being returned compressed, so I guess really I'm trying to work out why talking to this particular server from our office seems to result in it seeing 1.0 requests, while other servers at the same co-loc don't?

  • Stop sending `Connection: keep-alive`. (In HTTP 1.1, it does [something different](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html) from what it does in previous versions.) – David Schwartz Dec 11 '12 at 12:55
  • Sorry David, I've (hopefully) clarified the header captures - the `Connection: keep-alive` is coming from the browser, you can see the server is sending a `Connection: close` as part of its response. The request is the same as one to another server which results in an HTTP/1.1 response. – Zhaph - Ben Duguid Dec 11 '12 at 13:46

1 Answers1

2

This is because of old proxy servers who convert http 1.1 to http 1.0. disable NO_COMPRESSION_10. see Need help with some IIS7 web.config compression settings

  • Yes, that's the route I've currently taken, but I'm not sure if there are likely to be other repurcussions. – Zhaph - Ben Duguid Apr 03 '13 at 16:32
  • Welcome to Server Fault! Welcome to Server Fault! We really do prefer that answers have content, not pointers to content. This may theoretically answer the question however, [it would be preferable](http://meta.stackexchange.com/q/8259) to include the essential parts of the answer here, and provide the link for reference. – Chris S Apr 03 '13 at 18:09