Überlege doch einmal selbst, ob es sinnvoll ist, einen header('Cache-Control: private, must-revalidate, max-age=0'); zu senden wenn gleizeitig mit Last-Modified gecacht werden soll.
Ich meine dass beide Header zusammen keinen Sinn ergeben, weil allein max-age=0 den Browser anweist, die Seite bei jedem Request neu vom Server anzufordern anstatt sie zu cachen. Von daher wird der Browser auch kein if-modified-since senden, ganz einfach deswgen nicht, weil er die Seite gar nicht im Cache hat.
Nimm dies bitte als Antwort auf Deine Polemik. MfG