Tach!
header('Cache-Control: private, must-revalidate, max-age=0'); header('Last-Modified: '.gmdate('D, d M Y H:i:s', mktime(10, 23, 42, 4, 22, 2017)).' GMT');
Wenn ich Browser wäre würde ich das auch nicht cachen. Mit max-age=0 und must-revalidate würde ich dan Last-Modified Header aalglatt ignorieren 😉
Die Browser sind da aber anderer Meinung. Dass ich ihnen das Cachen nicht erlaubt habe, war des Tests willen, um sie zu bewegen, sofort nachzufragen.
Ich finde das im produktiven Umfeld nun so unsinng auch wieder nicht. Der Browser kann das Zeug aus dem Cache nehmen, möge aber bitte trotzdem nachfragen, ob es was neues gibt, statt erst nach Cache-Ablauf mit dem Anfragen zu beginnen. Man hat dann zwar einen Header hin und einen wieder zurückzusenden, hat sich aber eine Menge Arbeit auf dem Server gespart (falls man den nicht unnötig auf Datenbeschaffung schickt) und auch beim zu übertragenden Volumen, und ist obendrein auch noch aktuell.
dedlfix.