Michael Schröpl: html code in html datei laden (require)

Beitrag lesen

Hi Thomas,

es wird genau so einmal übertragen wie dein Javascript-datei.
<!--#include file="footer.html" -->
footer.html ist nach der ersten übertragung auch im cache des browsers.

Ich fürchte, da bist Du ein wenig zu optimistisch.
Schau mal in Dein access_log in solchen Fällen.

In der Tat löst ein SSI-Include im Apache einen internen HTTP-Subrequest
aus. Aber eben nur einen internen - der Client bekommt davon nichts mit,
und er bekommt auch nur ein einziges Dokument. Die via SSI eingebundenen
Daten müssen also in der Tat immer wieder mit übertragen werden.
jonas' Befürchtung dürfte also zunächst einmal berechtigt sein.

Andererseits: Wenn diese Daten klein sind, insbesondere maximal 1 KB, dann
ist das nicht so schlimm. Denn ein Browser, der auf ständige Cache-Validie-
rung eingestellt ist, würde mit dem ca. 1 KB HTTP-Header pro Request mehr
Lärm machen, um die Gültigkeit des Cache-Inhalts immer wieder prüfen zu
lassen, als wenn die Daten zusammen mit dem restlichen Dokument immer wie-
der neu übertragen werden. Caching ist nämlich gar nicht sooo toll - und
je kleiner die Daten, um so schlechter wird es.

Und bei Verwendung von komprimierter Datenübertragung wird das Verhältnis
noch besser zugunsten von SSI - ein HTTP-Header läßt sich nicht komprimie-
ren, die Daten aber schon.

und was erhalte ich wenn ich javascript ausgeschaltet habe? ;-)

Das ist in der Tat eine berechtigte Frage.
Sofern die Site nicht grundsätzlich JavaScript benötigt, sollte man sich
allein wenig ein bißchen Performance nicht davon abhängig machen.

Viele Grüße
      Michael