Dynamic web page
From Wikipedia, the free encyclopedia
On the classical hypertext, navigation is performed through "static" documents. The web navigation can provide, moreover, an interactive experience, what is termed "dynamic". Content (text, images, form fields, etc.) on a web page can change, reacting for different context conditions. This interactivity can be:
- by interface interaction into a specific web page, provided by a client-side script, reacting to mouse or keyboard; the dynamic behavior is on the presentation; OR
- between the sequence or reload of web pages, with changes in supplied page source, that are produced by server-side programs, reacting to posted form, to parameters in the URL, to browser-type parameters, or to time (database state on server).
Both are Dynamic web pages, and they can use simultaneously the two techniques of interactivity.
Web pages to adhere to the first definition, 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, that is a technique where the DHTML page request information from (at a hidded frame or web service) a server.
Web pages that adhere to the second definition are often created with the help of server-side languages such as PHP, Perl, 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 use also, on client-side, the first kind (DHTML, etc.).
Contents |
[edit] Client-side
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 (normally 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.
Ajax is a newer web development technique for creating client-side dynamic Web pages. Google Maps is an example of a web application that uses Ajax techniques.
[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.
[edit] History
Is difficult to be precise about "dynamic web page beginnings" or chronology, because the precise concept make 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 able with the Common Gateway Interface, stable in the 1993's.
- 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).