What is Server Side Includes

From WikiPedia: Server Side Includes

Server Side Includes

Server Side Includes (SSI) is a simple interpreted server-side scripting language used almost exclusively for the World Wide Web. It is most useful for including the contents of one or more files into a web page on a web server (see below), using its #include directive. This could commonly be a common piece of code throughout a site, such as a page header, a page footer and a navigation menu. SSI also contains control directives for conditional features and directives for calling external programs. It is supported by Apache, LiteSpeed, nginx, IIS as well as W3C's Jigsaw. It has its roots in NCSA HTTPd.

In order for a web server to recognize an SSI-enabled HTML file and therefore carry out these instructions, either the filename should end with a special extension, by default .shtml, .stm, .shtm, or, if the server is configured to allow this, set the execution bit of the file.

Examples

A web page containing a daily quotation could include the quotation by placing the following code into the file of the web page:

<!--#include file="../quote.txt" -->

With one change of the quote.txt file, all pages that include the file will display the latest daily quotation. The inclusion is not limited to files, and may also be the text output from a program, or the value of a system variable such as the current time.

What is SSI Server

SSI Server is a simple Python3 script that serves as HTTP server that supports SSI directive. However, it only helps HTML developers build better pages by better structure. It generates all HTML pages without SSI, and helps deploys on those servers that only support HTML. e.g. GitHub pages.

SSI Server supports one and the only one directive: include with file:

<!--#include file="inc/header.html" -->

How SSI Server Works

SSI Server handles /index.html by processing underlying /index.shtml. The index.html file is generated or updated by ./ssi_server.py -g.

How to Use SSI Server

Download ssi_server.py to your www root directory and run ./ssi_server.py.