There are many types of websites that can be constructed. Most
websites are simply brochure ware that don't require an underlying
application system or database. Technically, these sites consist of a
static web pages, web parts, graphics, pictures, buttons etc. that can be
sent by a web server to a web browser when a page request is received.
Such sites are easy to build and inexpensive to operate, unless they change
frequently.
Sometimes, more complex website are needed. For example, you might
want to construct a website that computes a monthly amortization schedules
based on input fields provided on a web form. This requirement can't
be met by a web server alone. It requires program logic to take the
form fields provided by a visitor (e.g. principal amount, interest rate,
payment frequency, payment amount), calculate the amortization and display
or print the schedule. In this example, however, there is no need to
authenticate users or store any data in a database. If there were, the
complexity would be even greater.
Websites that require server-side scripting or complex application
systems are complex and relatively costly to build. When they are
needed, there a numerous programming languages that can be used.
Regardless of the computer language, the application system must
produce html code and insert it into the web page that is returned to the web
browser by the web server.