Dynamic Website
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, 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:
  1. 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.
  2. 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 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.

Web pages that adhere to the second definition are often created with the help of server-side languages such as PHP, Perl, ASP, ASP.NET, 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.).
Dynamic sites
Dynamic sites are those where the content and design live separately. The content lives in a database that is placed on a webpage only when needed or asked. The benefit of this is that it allows for quicker page loading and it allows just about anyone, with limited or no web design experience, to update their own website via an administrative backend. This set-up is ideal for those who wish to make frequent changes to their websites including text and image updates. Dynamic sites are also great for image galleries, online calendars or e-commerce, etc.
The Client-side content is generated on the client's computer. The web browser retrieves a page from the server, then processes the code embedded in the page (typically written in JavaScript) and displays the retrieved page's content to the user.

The innerHTML property (or write command) can illustrate the "Client-side dynamic page" generation: two 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).
Server-side dynamic content is a little bit more complicated
  • The client sends the server the request.
  • The server receives the request and processes the server-side script such as PHP based on the query string, HTTP POST data, cookies, etc.
Mixing client and server sides
Ajax is a newer web development technique for dynamically interchanging content with the server-side, without reloading the web page. Google Maps is an example of a web application that uses Ajax techniques and database also.
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).