Server-side scripting
From Wikipedia, the free encyclopedia
Server-side scripting is a web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic HTML pages. It is usually used to provide interactive web sites that interface to databases or other data stores. This is different from client-side scripting where scripts are run by the viewing web browser, usually in JavaScript. The primary advantage to server-side scripting is the ability to highly customize the response based on the user's requirements, access rights, or queries into data stores.
Contents |
[edit] Explanation
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.
[edit] 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.
- ASP
- Microsoft designed solution allowing various languages (though generally VBscript is used) inside a HTML-like outer page. Primarily a Windows technology, but with limited support on other platforms.
- ASP.NET
- 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.
- ColdFusion
- Cross platform tag-based commercial server side scripting system.
- ESP
- ESP or Escapade was written in 1997 by Ed Carp, and enjoys wide use in Europe, but has had limited acceptance in the US.
- JSP
- A Java-based system for embedding Java-related code in HTML pages.
- Lasso
- A Datasource neutral interpreted programming language and cross platform server.
- PHP
- Common opensource solution based on including code in its own language into an HTML page.
- Server-side JavaScript
- A language generally used on the client side but also occasionally on the server side.
- SMX
- Lisp-like opensource 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 side into a single server response.
- Ruby on Rails
[edit] 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.