Browser (Chrome) does not cache assets from CloudFront

From your CloudFront response:

HTTP/1.0 206 Partial Content

HTTP/1.0 doesn't contain a 206 response code (that was added in HTTP/1.1) so chrome's cache layer refuses to reuse the response. More chrome-specific details in http://crbug.com/128116 but the short answer is that CloudFront should serve 206 responses as HTTP/1.1, not /1.0.


There is no expires/cache-control header specified. Chrome can be really particular about caching items (especially when they are added dynamically to the DOM via javascript) if there is no expires header provided.

http://code.google.com/speed/page-speed/docs/caching.html

from google:

It is important to specify one of Expires or Cache-Control max-age, and one of Last-Modified or ETag, for all cacheable resources. It is redundant to specify both Expires and Cache-Control: max-age, or to specify both Last-Modified and ETag.