----------- ----------- SSI and You : An Overview ----------- ----------- Introduction Background What is SSI? Why SSI? Where did SSI start? Who has SSI? How has SSI been Extended? How has SSI fragmented? HTML (Fragmentation in the Broswer) vs. SSI (Fragmentation in the Server) SSI Advantages SSI Drawbacks SSI Alternatives SSI Examples Simple Complex Templates Resources XSSI library Hoohoo WebMonkey Conclusion = Introduction = = = = HTML is boring. Strike that - HTML by itself is boring. Mix HTML with some processing and the reults can be exciting. It's a matter of finding the right concotion, the right mix. The processing of Server Side Includes is a rum that you mix with Coke. It's nothing fancy, but it's still really nice. We're going to take a look at how Server Side Includes (SSI) can enhance a web site, what you can and can't do with SSI, some alternatives to SSI and finally, some examples of how to use this easy to learn set of commands. SSI is not the end-all or be-all of dynamic documents by any means. As noted elsewhere, SSI is for casual development and small, light tasks. SSI is the motorcycle to the semi-truck that is CGI. (One note to keep in mind: Because so much of the web is served on Apache, I will consider Apache's implentation to be the stardard, albeit this is more for document simplicity rather than any true point of critique.) = Background = = = = What is SSI? Server Side Includes is a technology that adds information to web pages, as they are sent out by the web server. The server reads through the HTML file and takes special HTML tags and uses them for adding more HTML, customizing pages, hiding HTML and more. Why SSI? Server Side Includes are a feature that web server software can use to really add value for the webmaster. As we'll explore below, this is why there are such a wide variety of standards. It's important to keep in mind that nearly all of these implentations stem and are conceptually rooted in that set of features that was introduced in HTTPd 1.2 Where did SSI start? SSI first appeared in version 1.2 of NCSA's web server, HTTPd, circa 1994. The vast majority of web servers used today can trace their roots to this piece of software. The most common web server, Apache developed directly out of the original work done by the NCSA HTTPd Development Team, and still supports all the conventions laid down by that first system. http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html Who has SSI? Today nearly all web servers have some sort of Server Side Include technology built into them. As noted above, Apache has it. Netscape has Livewire. Microsoft, staying true to form, has a proprietary method called Active Server Pages. WebStar also has Server Side Includes. How has SSI been Extended? Apache 1.2 introduced a new server module called mod_include. This module brought forth eXtended Server Side includes (XSSI). According to the developer of the module, the intent of the extensions were allow: the ability to change the document's html based on the web browser; the ability to maintain common headers and footers that contain some document specific information and the ability to maintain copies of a web on multiple servers. http://www.pageplus.com/~hsf/sources/xssi/ This is only what has been added to the standard Apache core package. On the UNIX side, there are a mulititude of strong and powerful third-party modules that have extended SSI even further than the simple additions above. For WebStar, take a look at NetCloak for a good strong set of commands. But we're getting ahead of ourselves here. The standard that could have been unfortunately was never submitted for formal review or standardization, which is really too bad. The way that SSI has fragmented shows us what might have happened if HTML had left the control of the W3C. = SSI Advantages = = = = What Can SSI do? = SSI Drawbacks = = = = What Can SSI do? = SSI Alternatives = = = = SSI Examples Simple Complex Templates Resources XSSI library Hoodoo WebMonkey Conclusion