print.gif

 

SSI - Server Side Include

SSI is een stuk code/tekst dat u in uw html-bestand voegt en dat ervoor zorgt dat de inhoud van dat bestand (scripts, htmlcode, enz.) wordt uitgevoerd op de server. De output hiervan wordt opgenomen in uw html-pagina. Zo kunt u bijvoorbeeld de datum of tijd weergeven of headers/footers of navigatiemenu's gebruiken. SSI is een manier om website onderhoud drastisch te verminderen. Eén keer uw navigatiemenu wijzigen en alle pagina's worden bijgewerkt. Als u die SSI-code in de header opneemt (= header include), kunt u in één keer de achtergrondkleur wijzigen. Zonder SSI zou u elke pagina af moeten om de achtergrondkleur te veranderen. Het SSI commando voegt u in als een soort 'commentaar'. Dat ziet er zo uit:

<!--#commando="waarde"-->

Deze include zet u op de plek neer, waar u de tekst wil tonen.

Server Side Includes (SSI) is een techniek die geboden wordt door sommige webservers. Server Side Includes maken het mogelijk de server een aantal zaken automatisch te laten afhandelen die anders met de hand, of met behulp van een programmeertaal (zoals PHP of Perl), uitgevoerd zouden moeten worden. SSI wordt vooral gebruikt om de inhoud van de ene file in een andere op te nemen, op het moment dat die laatste opgevraagd wordt.

Voor eenvoudige taken

SSI is vooral geschikt voor eenvoudige taken. Voor complexe taken, zoals authenticatie, verdient het gebruik van een complete programmeertaal zoals PHP de voorkeur. Meestal wordt voor HTML-files die SSI-commando's bevatten, de extensie .shtml of .shtm gebruikt, hoewel het ook mogelijk is de server zo in te stellen dat een zelfgekozen extensie mogelijk is.

SSI-commando's worden opgenomen in HTML-commentaar (zodat die niet zichtbaar zijn als SSI niet werkt), en hebben de volgende vorm:

<!-- #commando parameter1=waarde1 parameter2=waarde2 --> Voorbeeld

Met het volgende SSI commando wordt de file header.txt opgenomen:

<!--#include file="header.txt"-->

Als een pagina waarin deze regel is opgenomen, opgevraagd wordt, zal de server de bovenstaande regel vervangen door de inhoud van de file header.txt.

Wat u nodig hebt

Het belangrijkste dat u nodig hebt, is een server die SSI ondersteunt.
Kijk na bij uw homepage-provider of dit inderdaad ondersteund wordt. Hier vindt u hoe u een test kunt doen om te kijken of uw server SSI ondersteund.

Veel gratis providers ondersteunen geen SSI. In dat geval kunt u twee dingen doen:

* Een andere gratis provider zoeken, bijvoorbeeld op FreeWebSpace.net, die wél SSI ondersteunt.
* Kiezen voor een betaalde webhost met SSI ondersteuning.

De code die u gebruikt om het bestand in te voegen, hangt af van de scripttaal die u gebruikt hebt op uw site. Gewoonlijk staat er in de header van uw document zoiets:

< html>
< head>
< title>Welkom op mijn site</title>
< /head>
< body bgcolor="red">

Als u deze tags nu eens in een tekstbestandje zet en die header.txt noemt?
Wilt u deze header door middel van SSI invoegen in uw pagina, dan doet u dat als volgt:

<!--#INCLUDE FILE="header.txt"-->

Dit zet u dus bovenaan de pagina, omdat u daar de tekst wil tonen.

let opU moet het bestand waarin u ssi includes hebt staan, hernoemen naar *.shtml. De server checkt alle .shtml bestanden om te kijken of er wat te uit te voeren is. In een php bestand hoeft dit niet. Dat roept u zo aan:

<?php include("header.php");?>

U kunt met SSI niet alleen bestanden insluiten, maar ook een waarde van een CGI-variabele ophalen en weergeven. Een top 10 van linkpagina's roept u als volgt op:

<?php virtual("/cgi-bin/links/intellilink.cgi?start=0&end=10&tmax=20")?>

De opdracht voert dus een script uit en toont de links 1 t/m 10. Zo kunt u op een makkelijke manier cgi bestanden binnen uw pagina verwerken.

Er zijn een aantal SSI variabelen, die u kunt gebruiken om in uw pagina in te voegen, bijvoorbeeld wanneer u de pagina voor het laatst hebt gewijzigd:

< !--#echo var="LAST_MODIFIED"-->

Voorbeelden van SSI

< !--#include file="filename"-->

Bovenstaande code voegt de inhoud van een andere file (bv.txt) in uw html document. (de file moet wel in dezelfde directory staan).

<!--#echo var="LAST_MODIFIED"-->

geeft de laatste datum en tijd van updaten weer in de vorm van Friday, 07-Aug-2000 12:08:10 PDT

<!--#echo var="REMOTE_HOST"-->

geeft de hostname van de gebruiker weer: (none)

<!--#echo var="REMOTE_ADDR"-->

geeft het IP adres van de gebruiker weer, bijvoorbeeld: 216.177.230.90

<!--#echo var="HTTP_USER_AGENT"-->

geeft het type browser weer waarmee de pagina opgevraagd wordt: Mozilla/3.0 (Win98; I)

<!--#echo var="HTTP_FROM"-->

geeft weer welke pagina de gebruiker bezocht voor deze pagina: (none)

<!--#echo var="HTTP_HOST"-->

geeft de host aan waarop deze pagina staat: www.uwdomein.com

<!--#echo var="HTTP_REFERER"-->

geeft aan vanwaar er gekoppeld werd naar deze pagina: http://www.uwdomein.com/helpdesk.html

<!--#echo var="DATE_GMT"-->

geeft de Datum en tijd in GMT: Friday, 30-Apr-2000 09:36:13 GMT

<!--#echo var="DATE_LOCAL"-->

geeft de locale tijd en datum: Friday, 30-Apr-2000 02:36:13 PDT

<!--#echo var="HTTP_ACCEPT_LANGUAGE"-->

geeft de taal weer die ingesteld is bij de gebruiker: (none)

<!--#echo var="DOCUMENT_NAME"-->

geeft de naam van de file weer : ssi.html

<!--#echo var="DOCUMENT_ROOT"-->

geeft het root pad weer naar de www directory: bv /usr/local/etc/httpd/htdocs

<!--#echo var="DOCUMENT_URI"-->

geeft het pad weer naar deze file binnen de www directory: /ssi.html

< !--#echo var="SERVER_SOFTWARE"-->

geeft de web server software en versie weer: Apache/1.3.1.1 SSL/1.15 PHP/3.0.3

< !--#echo var="SERVER_NAME"-->

geeft de servernaam weer: www.uwdomein.com

<!--#echo var="REQUEST_METHOD"-->

geeft de opvraagmethode weer: GET