In the “old” days of the web this was almost exclusively performed by using a combination of C programs, Perl scripts and shell scripts using the Common Gateway Interface (CGI). Those scripts were executed by the operating system, mnemonic coding and the results simply served back by the web server. Nowadays, these and other on-line scripting languages such as ASP and PHP can often be executed directly by the web server itself or by extension modules (e.g. mod_perl or mod_php) to the web server. Either form of scripting (i.e., CGI or direct execution) can be used to build up complex multi-page sites, but direct execution usually results in lower overhead due to the lack of calls to external interpreters.
Dynamic websites are also sometimes powered by custom web application servers, for example the Python “Base HTTP Server” library, although some may not consider this to be server-side scripting.
List of server-side scripting technologies
Any programming language can generate web pages through CGI or an extension module or application server framework. This section lists technologies designed mainly or exclusively for server-side scripting, typically by embedding instructions directly in template web pages.
Microsoft designed solution allowing various languages (though generally VBScript is used) inside a HTML-like outer page. Primarily this is a Windows technology, but with limited support on other platforms.
ASP.NET is a set of web application development technologies marketed by Microsoft. Programmers can use it to build dynamic web sites, web applications and XML web services. It is part of Microsoft’s .NET platform and is the successor to Microsoft’s Active Server Pages (ASP) technology.
Cross platform tag-based commercial server side scripting system.
ESP or Escapade was written in 1997 by Ed Carp, and enjoys wide use in Europe, but has had limited acceptance in the US.
JavaServer Pages (JSP) technology provides a simplified, fast way to create dynamic web content. JSP technology enables rapid development of web-based applications that are server and platform-independent.
A DataSource neutral interpreted programming language and cross platform server.
A language generally used on the client side but also occasionally on the server side.
Lisp-like open source language designed to be embedded into an HTML page.
Server Side Includes
A fairly basic system which is part of the common Apache web server, used primarily for combining documents or parts of documents on the server into a single server response.
Ruby on Rails
Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern. From the Ajax in the view, to the request and response in the controller, to the domain model wrapping the database, Rails gives you a pure-Ruby development environment. To go live, all you need to add is a database and a web server.
Dynamic web page production
The production of server-side dynamic web pages is one of the main applications of server-side scripting languages.
One important alternative to use them, on a MVC framework, is using web template systems. Any “not web specific” programming language can be used to manage template engines and web templates.