|
SSI (Server Side Include) to usługa działajaca na serwerze. Polecenie
lub dyrektywa SSI jest umieszczana w zwykłym pliku HTML wewnątrz
linii komentarza np:
<!--#echo var="HTTP_USER_AGENT" -->
(wyświetla nazwę przglądarki).
Gdy serwer otrzymuje od przeglądarki zapytanie o stronę, przeszukuje
dokument szukając dyrektyw SSI. Są to odwołania do wstawienia w
to miejsce innych plików. Gdy takie znajdzie, wyszukuje plik do
wstawienia i umieszcza jego zawartość w miejsce dyrektywy, po czym
wysyła gotową stronę do przeglądarki klienta. Dzięki dyrektywom
SSI można szybko zmienić wygląd wielu stron, wstawić aktualną datę,
czas, wywołać skrypt CGI, dołączć do strony różne pliki.
Ponadto zaletą SSI są opcje, często wykorzystywane w Javascript.
Ma to znacenie dla przegladarek textowych (np. linuxowy lynx) które
najczęściej nie obsługują Javascriptu, natomiast akceptują SSI.
SSI działają na większości, ale nie wszystkich serwerach.
Po raz pierwszy pojawiły się na serwerze NCSA. Dalszego ich rozwoju
dokonano w serwerze Apache, który obsługuje eXtended SSI. Niestety
nie działają na serwerach CERN. Nie działają także na większości
darmowych kont.
Każda dobra firma, oferująca płatny hosting oferuje
możliwość korzystania z SSI. Najlepiej spytać się o to administratora
gdyż czasem SSI wymaga uruchomienia,
szczególnie na serwerach Apache, poprzez umieszczenie odpowiednich
poleceń w pliku .htaccess. Najczęściej wystarczy zmienić rozszerzenie
pliku na .shtml. W ten sposób powiadamiamy serwer, że ma w tym pliku
poszukiwać wspomnianych dyrektyw. W pliku .htaccess można ustawić
także przeszukiwanie w plikach o innych rozszerzeniach, ale jest
to dodatkowe niepotrzebne obciążenie dla serwera.
Pliki z SSI powinny więc mieć rozszerzenie *.shtml (chyba,
że administrator zmieni ustawienia na serwerze).
Naczęściej występującą dyrektywą jest:
<!--#include file="/sciezka/plik.html" -->
przykład:
treść newsu wstawiona przez dyrektywę SSI
Po prztworzeniu przez serwer w jej miejsce wstawiana jest zawartość
plik.html znajdującego się pod podaną ścieżką. Plik wstawiany nie
musi posiadać pełnej struktury dokumentu z deklaracją koloru tła,
czcionek itp. Może to być sam tekst (także w pliku .txt) bo wszystkie
właściwości odziedziczy od dokumentu do którego jest wstawiany.
W przypadku niektórych skryptów CGI (np. liczniki tekstowe) konieczne
jest wstawienie do dokumentu wyników pracy skryptu. Robi się to
dyrektywą:
<!--#exec cgi="/sciezka/skrypt.cgi" -->
Podany skrypt jest wówczas wykonywany a rezultat jego pracy jest
wstawiany do dokumentu.
Inne z ważniejszych poleceń SSI to:
- <!--#echo="nazwa_zmiennej"-->
- gdzie zmienna jest dowolną zmienną środowiskową zarówno dla
CGI jak i w szczególności dla SSI:
- DOCUMENT_NAME - nazwa aktualnego
dokumentu,
- DOCUMENT_URL - URL aktualnego
dokumentu,
- DATE_LOCAL - aktualna data
serwera,
- LAST_MODIFIED - czas ostatniej
modyfikacji danego pliku. Jest to użyteczna funkcja, która
zwalnia webmastera z obowiązku zmiany daty ostatniej aktualizacji
- jest to wykonywane automatycznie.
- <!--#flastmod file="weather.txt"-->
- polecenie wyświetlające czas ostatniej modyfikacji wskazanego
pliku,
- <!--#fsize file="weather.txt"-->
- polecenie wyświetlające wielkość wskazanego pliku,
- <!--#exec cmd="c:\public\script\counter.exe"-->
- polecenie uruchamiające program na serwerze i wyświetlające
wynik jego działania.
W przypadku SSI nie ma problemu z wyszukiwarkami. Wszystkie
indeksują pliki *.shtml już po wstawieniu zawartości zadeklarowanej
w dyrektywach. Indeksowany jest już gotowy dokument, bo serwer zawsze
przerabia go przed wysłaniem gdziekolwiek.
Użycie SSI powoduje też pewne spowolnienie w wysyłaniu stron, jednakże
przeważnie nie przekracza ono 1 sekundy, czyli jest praktycznie
niezauważalne.
uruchamianie
SSI na serwerze Apache
podstawowe
komendy SSI
|