Access-Control-Max-Age vs Cache-Control
Was ist der Unterschied zwischen Access-Control-Max-Age-und Cache-Control innerhalb einer http-response-header?
Access-Control-Max-Age:1728000
Cache-Control:max-age=21600, public
Habe ich das Gefühl, Sie beziehen sich nicht auf die gleiche Sache, wie oft Sie erscheinen zusammen und manchmal mit anderen Werten.
Wenn Sie tun beide erscheinen innerhalb eines http-headers sind, aber unterschiedliche Werte enthalten, wäre dies gültig?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Header werden in verschiedenen Kontexten verwendet werden und für verschiedene Zwecke:
Cache-Control
verwendet wird, in einem Allgemeinen Kontext, um anzugeben, die maximale Zeit, die eine Ressource wird als frisch.Access-Control-Max-Age
verwendet wird, in CORS preflight-Anfragen. Es zeigt an, wie lange die Ergebnisse einer preflight-Anfrage zwischengespeichert werden können. Die Ergebnisse in diesem Fall ist der Inhalt derAccess-Control-Allow-Methods
undAccess-Control-Allow-Headers
Header.In anderen Worten, diese Werte betreffen die frische von verschiedenen Dingen.
Cache-Control
'smax-age=
ist für die Ressource heruntergeladen,Access-Control-Max-Age
ist für die Inhalte, die in anderen header-Felder.Wie bereits erläutert, beziehen Sie sich auf völlig verschiedene Dinge.
Sehen Sie zusammen-ist wahrscheinlich nur Zufall.
Einstellung
Cache-Control
'smax-age
ist in der Regel empfohlen, wenn anwendbar.Einstellung
Access-Control-Max-Age
scheint nicht furchtbar wichtig,als Browser wahrscheinlich legen Sie sinnvolle default-Werte.
Als diese Header sind nicht verwandt,
dies ist gültig.
Allerdings ist der Wert
Access-Control-Max-Age: 1728000
in deinem Beispiel ist ein bisschen seltsam,als Browser in der Regel beschränken Sie diese auf viel kleinere Werte
(Firefox caps-diese auf 24 Stunden (86400 Sekunden) - und Chrom bei 10 Minuten (600 Sekunden)). Chrom gibt auch ein Standardwert von 5 Sekunden.
Nachtrag von @Filippos: