In general, dynamic means energetic, capable of action and/or change, or forceful, while static means stationary or fixed. In computer terminology, dynamic usually means capable of action and/or change, while static means fixed. Both terms can be applied to a number of different types of things, such as programming languages (or components of programming languages), Web pages, and application programs.
When a Web page is requested (by a computer user clicking a hyperlink or entering a URL), the server where the page is stored returns the HTML document to the user's computer and the browser displays it. On a static Web page, this is all that happens. The user may interact with the document through clicking available links, or a small program (an applet) may be activated, but the document has no capacity to return information that is not pre-formatted. On a dynamic Web page, the user can make requests (often through a form) for data contained in a database on the server that will be assembled on the fly according to what is requested. For example the user might want to find out information about a theatrical performance, such as theater locations and ticket availability for particular dates. When the user selects these options, the request is relayed to the server using an intermediary, such as an Active Server Page (ASP) script embedded in the page's HTML. The intermediary tells the server what information to return. Such a Web page is said to be dynamic.
A set of HTML capabilities are provided that help a designer create dynamic Web pages. This set of capabilities is generally known as dynamic HTML.
There are dynamic and static programming languages. In a dynamic language, such as Perl or LISP, a developer can create variables without specifying their type. This creates more flexible programs and can simplify prototyping and some object-oriented coding. In a static programming language, such as C or Pascal, a developer must declare the type of each variable before the code is compiled, making the coding less flexible, but also less error-prone.