#32055: Add Surrogate-Control header to the 304 response
-------------------------------+--------------------------------------
     Reporter:  bungoume       |                    Owner:  nobody
         Type:  Bug            |                   Status:  closed
    Component:  HTTP handling  |                  Version:  master
     Severity:  Normal         |               Resolution:  needsinfo
     Keywords:                 |             Triage Stage:  Unreviewed
    Has patch:  1              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  0              |                    UI/UX:  0
-------------------------------+--------------------------------------

Comment (by bungoume):

 Taking the intent of rfc7232 section 4.1, it seems to me that we should
 reduce the amount of data by excluding all but the headers related to the
 cache.

 Surrogate-Control is a cache control header that has been around for a
 long time and is increasingly used in CDNs.
 Its notations are the same as Cache-Control.

 I think the reason it's not mentioned in rfc7232 is because it's only
 recently started to be used.

 This is used in cases where you want to keep browser cache control and CDN
 cache control separate.

 If Surrogate-Control disappears with 304, the CDN or proxy will use Cache-
 Control as a cache control, and it won't do what you expect it to do.

 To get around this, we''ll need to re-implement ConditionalGetMiddleware
 on our own.

 I believe it is more beneficial in many use cases to leave the headers in
 place rather than erasing them based on rfc7232.

 https://www.w3.org/TR/edge-arch/
 https://docs.fastly.com/en/guides/configuring-caching#surrogate-control

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32055#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/066.88da75f542381bd18cb756254faba5bf%40djangoproject.com.

Reply via email to