On the server
The web is used as a technical platform to allow the manipulation of applications hosted on web servers. In such applications, programs and data reside on a web server – unlike conventional applications which reside on the user’s computer. For developers, the provision of an application hosted on a web server is much less costly than burning a CD and sending it to mass distribution. Subsequent improvements are also facilitated.
CGI is a technique for associating a program with a web page. Using this technique, the HTTP server can use the program to obtain data from, for example, databases, and then send it as a web page.
Between 1995 and 2005 Java Servlet succeeded CGI, then Active Server Pages, mod_php (PHP language) and mod_perl for perl language, used by many cgi and fastCGI scripts (1995), were launched as competing technologies.
PHP quickly became the most used language on the server side, reaching more than 60% in 2009.
Today Apache and nginx, the two main web servers used on the market, allow to serve mainly pages in PHP, served via FastCGI, but also in Java, via JSP or Ruby, via Ruby on Rails, as well as a large number of other languages used more marginally.
Microsoft IIS, the third most used server, can serve content in Microsoft ASP language.
Java is a programming language released in 1996. Programs written in this language can either be executed on the server or – Java applets – can be downloaded and executed by web browsers. This feature has made this technology popular for making interactive applications and video games on the web. Adobe Flash technology, launched the same year, quickly crushed Java and became the most popular technology until the 2010s.
Web applications known as Rich Internet Application (abr. RIA) offer maneuverability and comfort of use equivalent to, or even better than, conventional applications. This is achieved by the use of technologies such as Ajax, Adobe Flash, Microsoft Silverlight or today HTML5, adopted by the most popular browsers; Google Chrome, Firefox, Opera, and an early compatibility has been started with Internet Explorer.
Databases have been quickly used in web technologies to make pages more dynamic and separate the presentation of content. The most popular, generally associated with PHP and apache, in what is commonly called in the jargon of the web LAMP (for Linux Apache MySQL PHP). In the case of IIS and ASP, the database is more often that of Microsoft, mSQL. Other databases like PostgreSQL, are also used mainly with PHP
Since the early 2010s, NoSQL databases have become increasingly important in HTTP services with a very large audience. MongoDB is the most used NoSQL database.
(Horde groupware is an open-source web application. )
On the client
The clients are mainly web browsers which allow documents and web applications to be presented to the user. There are many browsers, the most used of which are Mozilla firefox, Google Chrome, Internet Explorer or Opera. These browsers implement all or part of the standards defined mainly by the W3C:
HTML: For the semantic representation of documents, a markup language in which portions of the document are delimited between tags like <body> for the start marker or </body> to mark the end of the body of the document, or <p> to mark the start of a paragraph. HTML, in addition to the graphic provisions, have tags allowing to define web forms with a set of widgets used in conjunction with the POST method or the GET method of the HTTP protocol.
CSS: CSS styles, for cascading style sheets, allow you to define the appearance of a page and its elements by a set of properties (position, size, colors, borders, fonts, visibility, etc.), depending on certain parameters. as the size or the nature of the associated support, or the state of these elements, if the mouse is positioned on an element it is for example possible to change its appearance. For example, when printing a web page it is possible to define a style which allows to hide unnecessary navigation elements on paper.
DOM: Internally, these HTML documents are translated by the browser into a DOM tree in which the nodes represent the tags or their attributes and the CSS styles associated with them. Each node of the tree is associated with a certain number of events which allow, thanks to event programming, to define real RIA interfaces.
Plugins: Web browsers include possibilities of extensions in the form of plugins allowing them in particular to display documents of different types from those provided by web standards; for example pdf documents, in particular with the popular plug-in included in Acrobat Reader, or Adobe Flash Player to create dynamic and multimedia applications such as video games, or discussion forums by Webcam, many Java Applet which were popular before the 2000s, using programming interfaces like Netscape Server Application Programming Interface. These extensions tend to be replaced by native browser technologies such as HTML5 which aim, among other things, to extend the multimedia possibilities of the browser without having to install an external program.
HTML today makes it possible, thanks to tags like the video tag and the audio tag, to serve as a platform for viewing applications for multimedia players.