anchor.diff:  and the experience of its clients. The `'Cache-Control'` HTTP response header is mostly
   responsible for this, along with conditional headers such as `'Last-Modified'` and `'ETag'`.
   
  -The `'Cache-Control'` HTTP response header advice private caches (e.g. browsers) and
  - public caches (e.g. proxies) on how they can cache HTTP responses for further reuse.
  +The `'Cache-Control'` HTTP response header advises private caches (e.g. browsers) and
  +public caches (e.g. proxies) on how they can cache HTTP responses for further reuse.
   
   An http://en.wikipedia.org/wiki/HTTP_ETag[ETag] (entity tag) is an HTTP response header
   returned by an HTTP/1.1 compliant web server used to determine change in content at a
  
positive.code: [[mvc-caching-etag-lastmodified]]
  === Support for the Cache-Control, ETag and Last-Modified response headers in Controllers
  
  Controllers can support `'Cache-Control'` `'ETag'` and/or `'If-Modified-Since'` HTTP requests;
  this is indeed recommended if a `'Cache-Control'` header is to be set on the response.
  This involves calculating a lastModified `long` and/or an Etag value for a given request,
  comparing it against the `'If-Modified-Since'` request header value, and potentially returning
  a response with status code 304 (Not Modified).
  
  As described in <<mvc-ann-httpentity>>, Controllers can access request/response using `HttpEntity` types.
  Controllers returning `ResponseEntity` can include HTTP caching information in responses like this:
  
  [source,java,indent=0]
  [subs="verbatim,quotes"]
  
negative.code: 	}
  ----
  
  Doing this will not only include `'ETag'` and `'Cache-Control'` headers in the response, it will **also convert the
  response to an `HTTP 304 Not Modified` response with an empty body** if the conditional headers sent by the client
  match the caching information set by the Controller.
  
  An `@RequestMapping` method may also wish to support the same behavior.
  This can be achieved as follows:
  