SSI (Server-Side Includes)

    Una dintre cele mai noi trasaturi care a foat adaugata serverelor Web este SSI (Server-Side Includes). SSI este un set de functii construit in serverele Web care permit celor care realizeaza pagini web sa insereze date in documentele HTML folosind directive speciale. Aceasta inseamna ca puteti realiza documente dinamice fara necesitatea de a crea programe CGI.

    Informatia inserata poate lua forma unui fisier local sau a unui fisier referit printr-un URL. Mai puteti insera informatii dintr-un set limitat de variabile similar variabilelor de mediu. Si in sfarsit, puteti executa programe care sa insereze text in document.

Observatie
Singura diferenta reala intre programele CGI si programele SSI este aceea ca programele CGI trebuie sa genereze si un header de tip HTTP pe prima linie care genereaza informatie la iesirea standard.

cele mai multe servere Web au nevoie ca extensia nuelui fisierului sa fie schimbata din html(sau htm) in shtml pentru ca serverul sa stie sa caute dupa directive SSI. Numele acestei extensii depinde de configurarea serverului, dar shtml este folosit de regula.

Toate directivele SSI arata precum comentariile unui document HTML. In aacest mod, directivele SSI vor fi fi ignorate de catre serverele Web care nu suporta inca SSI.

Tabelul urmator prezinta o lista a directivelor SSI suportate de majoritatea serverelor Web. Ca regula, este bine sa fie verificata aceasta lista in documentatia care insoteste serveul Web pe care-l folositi.

O lista partiala a directivelor SSI
Directive Descriere
<!--#config timefmt="%c"-->

Schimba formatul utilizat la afisarea datei.

<!--#config sizefmt="%d bytes"-->

Schimba formatul utilizat la afisarea dimensiunii fisierelor. Puteti specifica bytes (pentru afisarea marimii in bytes) sau abbrev (pentru afisarea marimii fisierelor in kilobytes sau megabytes).

<!--#echo var=?-->

Afisaza valoarea variavilei specificate prin ?. Cateva valori posibile sunt mentionate in acest tabel.

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

Afisaza calea completa si numele fisierului in care se afla documentul curent.

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

Afiseaza calea virtuala si numele fisierului in care se afla documentul curent.

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

Afiseaza data la care fisierul a fost ultima data modificat. It will use this format for display: 05/31/96 16:45:40.

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

Afiseaza data si timpul local.

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

Afiseaza data si timpul folosind GMT.

<!--#exec cgi="/cgi-bin/ssi.exe"-->

Executa un program CGI specificat. Acesta trebuie sa fie activat pentru a fi utilizat. Se poate folosi si o optiune de forma cmd= option pentru executia unei comenzi shell.

<!--#flastmod virtual="/docs/demo/ssi.txt"-->

Afiseaza timpul ultimei modificari a unui fisier specificat printr-o cale virtuala. (nu merge pe Sambar)

<!--#flastmod file="ssi.txt"-->

Afiseaza timpul ultimei modificari a unui fisier specificat printr-o cale relativa. (nu merge pe Sambar)

<!--#fsize virtual="/docs/demo/ssi.txt"-->

Afiseaza dimensiunea unui fisier specificat printr-o cale virtuala.

<!--#fsize file="ssi.txt"-->

Afiseaza dimensiunea unui fisier specificat printr-o cale relativa.(nu merge pe Sambar)

<!--#include virtual="/docs/demo/ssi.txt"-->

Include in documentul curent un fisier precizat printr-o cale virtuala.(nu merge pe Sambar)

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

Include in documentul curent un fisier precizat printr-o cale relativa. Poteca relativa poate incepe cu secventa de caractere ../ sau cu / pentru a evita riscurile in ceea ce priveste securitatea.

    SSI furnizeaza un set de trasaturi destul de bogat pentru a satisface necesitatile unui Web designer. Dintre cele mai utile amintim aici pe ce care permite includerea aceluiesi fisier in mai multe documente. Cu aceasta posibilitate se pot scrie fisiere mici, care la actualizare se vor actualiza in toate locurile in care sunt incluse. Un exemplu tipic este cel al antetelor de pagina, care trebuiesc copiate pe fiecare pagina a unui site.

Testeaza serverul

 

© Cornel Mironel Niculae, 2003-2007

26-Jun-2007