Hypertext preprocessing is performed by a web server after it reads the page off the server's disk but before it sends it to the client's browser. Similar to a complier preprocessor, hypertext preprocessing can be used to modify the HTML interpreted by the browser either to customise the code to a particular platform or perform modifications in real time. Some hypertext preprocessing languages include:
- Server-Side Includes
- The most basic preprocessing language. It has very limited support for programming constructs and is used primarily for inserting the date, client data, and external files (including those requiring preprocessing, in some cases).
- One of the most popular cross-platform preprocessors. PHP is unique in that it is a preprocessor first and a scripting language second. It is designed to make preprocessing easy at the expensive of speed.
- A particularly popular preprocessing extension (via mod_perl) to Apache allowing full use of regular Perl interspersed with HTML.
- Active Server Pages
- Like ePerl but for Python.
In theory, any interpreted language that can have an embedded Apache module could be setup as a hypertext preprocessor (IIS has similar hooks). Therefore most preprocessors are available on every platform Apache will run on.
It should be stressed that all functionality from hypertext preprocessing can be accomplished using CGI scripts. Developers often prefer preprocessing because it allows them to mix code and content (considered harmful) and is more convient for small modifications of a page.