Es scheint ein Problem zu geben, wie die PHP-Engine mit identischen Dateien umgehen kann, die sich nur in ihrer Dateierweiterung unterscheiden.
Problem: "Eine bedingte Anforderung" If-Modified-Since "hat den gesamten Inhalt unverändert zurückgegeben."
Außerdem habe ich gemessen, dass die Erweiterung .php viel schneller lädt als identitcal twin mit der Erweiterung .xxx, obwohl der Dateiinhalt identisch ist und sich nur in der Dateiendung unterscheidet.
"HTTP ermöglicht Clients zu machen bedingte Anfragen, um zu sehen, ob eine Kopie dass sie halten, ist immer noch gültig. Schon seit Diese Antwort hat eine Last-Modified Kopfzeile sollten Clients in der Lage sein zu verwenden einen If-Modified-Since-Anfragekopf zur Validierung. RED hat das getan und festgestellt, dass die Ressource einen vollständigen sendet Antwort, obwohl es nicht war geändert, um anzuzeigen, dass dies nicht der Fall ist Unterstützung der zuletzt geänderten Validierung. "
.php
.ast
Gegeben:
Eine home.php-Datei wird als home.xxx kopiert und diese Erweiterung wird zu htaccess hinzugefügt, um sie als PHP-Datei zu erkennen. Die .php-Datei hört auf die php.ini, wo Frische auf 3 Stunden eingestellt ist, die Nicht-.php-Dateien müssen auf htaccess hören, wo Frische auf 2 Stunden eingestellt ist, gemäß:
%Vor%So weit, so gut und alles lädt, außer dass die Nicht-PHP-Datei nicht richtig zwischenspeichert oder gut zwischenspeichert, aber nicht gut validiert, um genauer zu sein. Siehe beigefügte Bilder. Nur die Nicht-PHP-Dateierweiterung verursacht den Fehler und lädt langsamer.
Die gesamte page.php wird schneller geladen, da alle Elemente dort korrekt aus dem Cache geladen werden, während page.abc die vollständige Anforderung zurückgibt, während sie zwischengespeichert werden sollte, was bedeutet, dass die gesamte Seite langsamer ist.
>Untere Zeile: Was sollte geändert werden, um die bedingte If-Modified-Since-Anforderung zu beseitigen, die den gesamten Inhalt unverändert zurückgibt?
Es scheint, als hätte Ihr Server Probleme beim Dekodieren der Erweiterung, da es nicht .php ist. Selbst wenn Sie die Erweiterung so definiert haben, dass sie in Ihrem HTTP-Speicher als php erkannt wird, benötigt der Server noch einige zusätzliche Schritte, um die Seite zu verarbeiten, was bedeutet, dass sie immer länger dauert als nur .php (obwohl es nur ein paar Millisekunden Unterschied sein sollte) Wahrscheinlich verursacht ein Serverproblem viel länger). Warum nicht einfach die Erweiterung .php auf deinen Seiten verwenden? Warum brauchst du .abc? Es ist immer am besten, nur die Standard-Erweiterung zu verwenden, anstatt sie zu maskieren.
BEARBEITEN: Wenn Sie diese Funktion oben auf jeder Seite platzieren, wird der Domänenname des Benutzers erkannt. Entfernen Sie die WWW- und Domänenerweiterung, und zeigen Sie dann nur den Inhalt für diesen bestimmten Domänennamen an. Sie können die gleiche .php-Datei für jeden Domain-Namen verwenden und müssen keine funky Erweiterungen machen.
%Vor%Tags und Links php caching validation cache-control if-modified-since