Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#22827 closed Cleanup/optimization (fixed)

Per-site cache docs vague about which middleware sets headers

Reported by: Keryn Knight <django@…> Owned by: nobody
Component: Documentation Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

The docs currently say:

Additionally, the cache middleware automatically sets a few headers in each HttpResponse:

Sets the Last-Modified header to the current date/time when a fresh (not cached) version of the page is requested.
Sets the Expires header to the current date/time plus the defined CACHE_MIDDLEWARE_SECONDS.
Sets the Cache-Control header to give a max age for the page – again, from the CACHE_MIDDLEWARE_SECONDS setting.

It's no longer clear which middleware does that, because these days what was once CacheMiddleware is now recommended as two separate components, UpdateCacheMiddleware and FetchFromCacheMiddleware. It is the UpdateCacheMiddleware that is responsible for modifying the Response's headers.

And, if being really picky:

The cache middleware caches GET and HEAD responses with status 200, where the request and response headers allow

This is dictated by the FetchFromCacheMiddleware at the beginning of the request

Change History (4)

comment:1 by Tim Graham, 10 years ago

Triage Stage: UnreviewedAccepted

comment:3 by Tim Graham <timograham@…>, 10 years ago

Resolution: fixed
Status: newclosed

In f9b7a0383c6f0fbadb83306db667675d9f9dd2b4:

Fixed #22827 -- clarified what each cache middleware does.

Thanks Keryn Knight for the report.

comment:4 by Tim Graham <timograham@…>, 10 years ago

In d8961a5ad05b103b7b37e8e7a992f5d2f761fc2c:

[1.7.x] Fixed #22827 -- clarified what each cache middleware does.

Thanks Keryn Knight for the report.

Backport of f9b7a0383c from master

Note: See TracTickets for help on using tickets.
Back to Top