Dynamic web page
From Wikipedia, the free encyclopedia
Classical hypertext navigation occurs among "static" documents, and, for web users, this experience is reproduced using static web pages. However, web navigation can also provide an interactive experience that is termed "dynamic". 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 interactivity:
- Using client-side scripting to change interface behaviors within a specific web page, in response to mouse or keyboard actions 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 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.
The result of either technique is described as a dynamic web page, and both may be used simultaneously.
To adhere to the first definition, web pages must use presentation technology called, in a broader sense, rich interfaced pages. Client-side scripting languages like JavaScript or ActionScript, used for Dynamic HTML (DHTML) and Flash technologies, 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.
Web pages that adhere to the second definition are often created with the help of server-side languages such as PHP, Perl, ASP or ASP.NET, JSP, 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 client-side, the first kind (DHTML, etc.).
Contents |
[edit] Client-side
The Client-side dynamic content is generated on the client's computer. The web server retrieves the page and sends it as is. The web browser then processes the code embedded in the page (typically written in JavaScript) and displays the page to the user.
The innerHTML property (or write command) can illustrate the "Client-side dynamic page" generation: 2 distinct pages, A and B, can be regenerated (by an "event response dynamic") as document.innerHTML = A
and document.innerHTML = B
; or "on load dynamic" by document.write(A)
and document.write(B)
.
The problems with client-side dynamic pages are:
- Some browsers do not support the language or they do not support all aspects (like write command and innerHTML property) of the language.
- The information cannot be stored anywhere but the user's computer, so it cannot really be used for statistics gathering.
- Search engines are not able to run client-side languages and cannot crawl links generated by them.
- Some users have scripting languages disabled in their browsers due to possible security threats.
[edit] Server-side
Server-side dynamic content is a little bit more complicated.
- The browser sends an HTTP request.
- The server retrieves the requested script or program.
- The server executes the script or program which typically outputs an HTML web page. The program usually obtains input from the query string or standard input which may have been obtained from a submitted web form.
- The server sends the HTML output to the client's browser.
Server-side has many possibilities for dynamic content, but the use of it can be a strain on low-end, high-traffic machines. Some web sites use the Robots Exclusion Standard to keep web crawlers from accessing dynamic pages for this reason. If not properly secured, server-side scripts could be exploited to gain access to a machine[citation needed].
[edit] Mixing client and server sides
Ajax is a newer web development technique for dynamically interchanging content with the server-side, without reloading the webpage. Google Maps is an example of a web application that uses Ajax techniques.
[edit] History
It is difficult to be precise about "dynamic web page beginnings" or chronology, because the precise concept makes sense only after the "widespread development of web pages". Context and dates of the "web beginnings":
- HTTP protocol has been in use by the Web since 1990, HTML, as standard, since 1996.
- The web browsers explosion started with 1993's Mosaic.
For server-side dynamic pages:
- The dynamic page generation was made possible by the Common Gateway Interface, stable in 1993.
- Then Server Side Includes pointed a more direct way to deal with server-side scripts, at the web servers.
For client-side:
- The first "widespread used" version of JavaScript was 1996 (with Netscape 3 an ECMAscript standard).
[edit] See also
[edit] References
- "The Information Revolution", J. R. Okin. ISBN 0976385740. Ed. Ironbound Press, 2005. 350 pp.
- "Learning VBScript", P. Lomax. ISBN 1565922476. Ed. O'Reilly, 1997. sec. C13.