SHTML to skrót od Server-parsed HyperText Markup Language. Jest to rozszerzenie pliku identyfikujące określony typ pliku HyperText Markup Language (HTML). Podstawowe pliki HTML zwykle zawierają tekst i formatowanie stron internetowych. Pliki SHTML generalnie pełnią tę samą funkcję, ale umożliwiają również korzystanie z prostych poleceń serwera.
Polecenia serwera wydawane przez pliki SHTML są wykonywane w prostym języku programowania komputerowego o nazwie Dołącz po stronie serwera (SSI). Jako taki, innym sposobem zdefiniowania tego typu plików jest to, że są to pliki HTML, które mogą korzystać z SSI. Aby serwer WWW mógł rozpoznać polecenie SSI w pliku typu HTML, plik zwykle musi mieć jedno z następujących rozszerzeń: SHTML, SHTM lub STM. Wymaganie to jest jednak funkcją ustawień obecnych na serwerze WWW. Możliwe jest skonfigurowanie serwera internetowego do rozpoznawania poleceń SSI również w plikach innych typów.
Głównym celem, dla którego SSI jest używane w tworzeniu stron internetowych, jest kopiowanie dodatkowej zawartości z jednego lub więcej plików do drugiego. W SHTML, jak to zrobić, jest proste. Weźmy na przykład witrynę internetową, która ma wiele stron, a każda strona ma inną treść. Deweloper może chcieć umieścić na dole każdej strony standardową część tekstu, na przykład informacje o firmie lub informację o prawach autorskich. Programista może umieścić standardowy tekst w pliku na serwerze WWW; polecenia include w łączu SHTML do pliku stopki i skopiuj jego zawartość do wynikowej strony internetowej.
SHTML ma pewne możliwe problemy. Jednym z problemów, który czasami pojawia się w przypadku plików indeksu SHTML, jest to, że wiele serwerów internetowych jest skonfigurowanych tak, aby rozpoznawać tylko określoną nazwę pliku jako indeks lub stronę główną witryny. Jeśli ta nazwa pliku nie ma rozszerzenia, które jest rozpoznawane jako plik z obsługą SSI, polecenia SSI nie zostaną wykonane.
SSI zapewnia przydatny sposób wykonywania prostych zadań po stronie serwera. Jest to szczególnie przydatne przy kopiowaniu tekstu i kodu HTML z jednego pliku do drugiego. W przypadku bardziej złożonych zadań skryptowych mogą być wymagane inne rozwiązania.