das liegt dann aber nicht an PHP an sich, sondern daran, dass Apache typischerweise von sich aus fürs Caching geeignete Header mitsendet (z.B. Modified, ETag), wenn er statische Ressourcen ausliefert, während er das bei dynamisch generierten Ressourcen nicht tut.
Jein. Ich weiß jetzt nicht, was die Default-Konfiguration ist. Ich habe aber in den Antwortheadern bei dynamischen Ressourcen schon oft den Abrufzeitpunkt als Datum der letzten Änderung gesehen. Das macht nur beschränkt Sinn - denn viele "dynamische Ressourcen" (also PHP-Skripte) liefern tatsächlich statische Inhalte aus. Gerade bei Content-Management-Systemen wird eine Unmenge an Last sinnlos "verbraten".
Das darf das Script aber gern selbst tun, dann wird auch PHP-generierter Inhalt gecacht.
Die header selbst zu setzen ist goldrichtig, das wird von vielen aber nicht bedacht.
Jörg Reinholz