Serious question: is properly handling the "Not Modified " status code really considered caching or is there a better name? Maybe client-side caching? HTTP caching in my mind is associated with something like varnish.
From what I can tell Varnish uses these same concepts to do what they do (caching HTTP reverse proxy).
See
* https://tools.ietf.org/html/rfc7234#section-1
* http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FA...