id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 12263,Mixed concerns between application and http caching,Seb Bacon,nobody,"I've found the treatment of HTTP cache headers in Django counterintuitive. I'm not sure if the code or the documentation needs fixing, so this is more a discussion point than a bug. The cache middleware (in {{django.middleware.cache}} is for caching objects in memory. As a side-effect, it also sets ETag and Last-Modified dates. 1) I view this as a bug, as it's mixing two concerns -- application-level caching and HTTP caching. It certainly threw me when trying to debug some HTTP caching issues, as it interacts in unexpected ways with Django's explicit HTTP caching facilities such as the {{cache_control}}} decorator. 2) I'd rather HTTP caching was controlled completely separately, but if not, shouldn't this behaviour honour the USE_ETAGS setting that's used in {{django.middleware.CommonMiddleware}}? 3) Also, if it's considered that HTTP caching should be set at the same time as app caching, should we consider noting in the comments that the ConditionalGetMiddleware should be enabled if the server is to honour these headers? ",,closed,Core (Cache system),1.1,,invalid,etag http headers last-modified,,Unreviewed,0,0,0,0,0,0