Learn something new every day More Info... by email
SHTML stands for Server-parsed HyperText Markup Language. It is a file extension identifying a particular type of HyperText Markup Language (HTML) file. Basic HTML files usually provide the text and formatting for web pages. SHTML files generally perform the same function, but they also allow the use of simple server commands.
The server commands that are issued by SHTML files are performed in a simple computer programming language called Server Side Includes (SSI). As such, another way to define these type of files is that they are HTML files which are enabled to use SSI. In order for a web server to recognize an SSI command in an HTML type file, the file usually must have one of the following extensions: SHTML, SHTM, or STM. This requirement is a function of the settings present on the web server, however. It is possible to set up a web server to recognize SSI commands within files of other types as well.
The main purpose for which SSI is used in web development is to copy additional content from one or more files into another. In SHTML, how to do this is straightforward. Take, for example, a website that has many pages, with each page having different content. A web developer may wish to have a standard portion of text at the bottom of each page, perhaps some company information or a copyright notice. The developer can place the standard text into a file on the web server; the include commands in the SHTML link to the footer file and copy its contents into the resulting web page.
SHTML does have some possible problems. One issue that sometimes arises about SHTML index files is that many web servers are set up to only recognize a specific file name as the index, or home page, of the website. If this file name does not have an extension that is recognized as an SSI-enabled file, then the SSI commands will not be executed.
SSI provides a useful way to perform simple server side tasks. It is particularly helpful for copying text and HTML from one file to another. For more complex scripting tasks, other solutions may be required.