Classical
hypertext navigation, with
HTML or
XHTML alone, provides "static" content, meaning that the user requests a web page and simply views the page and the information on that page. However, a web page can also provide a "live", "dynamic", or "interactive" user experience. Content (text, images, form fields, etc.) on a
web page can change, in response to different contexts or conditions. There are two ways to create this kind of effect: • Using client-side scripting to change interface behaviors
within a specific
web page, in response to mouse or keyboard actions, data received from a
web API,
websocket or at specified timing events. In this case the dynamic behavior occurs within the
presentation. • Using
server-side scripting to change the supplied page source code
between pages, adjusting the sequence or reload of the
web pages or
web content supplied to the browser. Server responses may be determined by such conditions as data in a posted
HTML form, parameters in the
URL, the type of browser being used, the passage of time, or a database or server
state. Web pages that use client-side scripting must use presentation technology broadly called
rich interfaced pages.
Client-side scripting languages like
JavaScript or
ActionScript, used for
Dynamic HTML (DHTML) and
Flash technologies respectively, are frequently used to orchestrate media types (sound, animations, changing text, etc.) of the presentation. The scripting also allows use of
remote scripting, a technique by which the DHTML page requests additional information from a server, using a
hidden Frame,
XMLHttpRequests, or a
web service. It is also possible to use a
web framework to create a
web API, which the client, via the use of JavaScript, uses to obtain data and alter its appearance or behavior dynamically depending on the data. Web pages that use server-side scripting are often created with the help of
server-side languages such as
PHP,
Perl,
ASP,
JSP,
ColdFusion and other languages. These server-side languages typically use the
Common Gateway Interface (CGI) to produce
dynamic web pages. These kinds of pages can also use, on the client-side, the first kind (DHTML, etc.). ==History==