Wat zijn Server Side Includes (SSI) en wat heb je eraan?
Met Server Side Includes kun je (zoals de term al uitdrukt) includes doen op de (web)server. Een include doen houdt in dat je in een pagina een andere pagina invoegt, zodat je veelgebruikte stukken niet steeds hoeft over te typen.
Stel bijvoorbeeld dat je een menu wilt gebruiken in al je pagina's, dan is het erg handig dat je de HTML-instructies daarvoor in een apart bestand kunt zetten, wat je vervolgens eenvoudig kunt invoegen in je pagina's.
Een paar voordelen van SSI op een rijtje:
Je hoeft niet zoveel (over) te typen;
Je vermijdt de fouten die je zou kunnen maken bij het overtypen;
Het ontwerp van je site verbetert: zonder gebruik van SSI zou je in de verleiding kunnen komen om de stukjes HTML die je hebt overgetypt te gaan wijzigen. Dat zou ertoe leiden dat je allerlei stukjes HTML overhoudt, die eigenlijk hetzelfde doen, maar die desondanks enigszins verschillen, wat het onderhoud van je site bemoeilijkt.
Om SSI-instructies te gebruiken in je pagina moet je die opslaan als .shtml-bestand, waardoor de server weet dat je SSI wilt gebruiken; bijvoorbeeld familie.shtml. Je kunt nu, op de plek waar je normaal de HTML-instructies zou typen, een SSI-instructie zetten om een invoegbestand (in het onderstaande voorbeeld menu.html) in te voegen. Dat gaat als volgt:
<!--#include file="menu.html" -->
(N.B. de pagina die je invoegt hoeft niet als .shtml-bestand te worden opgeslagen omdat daar geen SSI-instructies in staan.)
Met SSI kun je ook een aantal kant-en-klare dingen invoegen (zoals de huidige datum en tijd, of de datum en tijd waarop je pagina voor het laatst is gewijzigd), maar het voert wat te ver om daar nu dieper op in te gaan. Daarom hier alleen een paar voorbeelden zonder verdere uitleg:
Laat het IP-adres van je bezoekers zien:
<!--#echo
Laat zien waar je bezoekers vandaan komen:
<!--#echo var="HTTP_REFERER" -->
Laat de huidige datum en tijd zien:
<!--#echo var="DATE_LOCAL" -->
Als je dit op een regel vóór een regel met DATE_LOCAL zet, dan zorgt dit ervoor dat de datum wordt afgebeeld als: 02/17/97 :
<!--#config timefmt="%m/%d/%y" -->
Idem, maar dit zorgt ervoor dat de tijd wordt afgebeeld als: 11:30:27 :
<!--#config timefmt="%H:%M:%S" -->
Idem, een combinatie van beide bovenstaande instructies die ervoor zorgt dat datum én tijd leesbaar worden afgebeeld, als: 02/17/97, 11:30:27 :
<!--#config timefmt="%m/%d/%y, %H:%M:%S" -->
Meer informatie is te vinden op de onderstaande webpagina:
http://www.mijnhomepage.nl/ssi/
Afsluitend nog een opmerking: als je site wordt bekeken dan merkt degene die je site bekijkt - behalve dan dat de naam van de pagina is veranderd in .shtml - helemaal niets van het invoegen: dit gebeurt totaal 'achter de schermen'.
Veel succes!


