For someone interested in the history of web-based systems, this section provides a brief discussion along the timeline.
Before the advent of the service of the Web, computers stored data/information in documents; users logged into these computers and fetched the documents via networks, mainly using the File Transfer Protocol (FTP). When the user switched the computer, the process of logging in, searching, finding, and retrieving data – using a similar set of commands – had to be repeated, which was painful. In 1991, a better technology known as Gopher was released to access documents over networks, and it became popular for its friendly nature.
During that time, Tim Berners-Lee and his colleagues were involved in a project called the World Wide Web, which was based on Tim’s proposal written in 1989. The World Wide Web (WWW) – or sometimes simply referred to as “Web” – was implemented as a result of this project by Tim Berners-Lee and colleagues at CERN, which is the European Organisation for Nuclear Research in Geneva. Tim Berners-Lee wrote the first specifications of the basic concepts of the service of the Web, namely: Uniform Resource Locator (URL), Hyper Text Transfer Protocol (HTTP), and Hyper Text Markup Language (HTML). He also wrote the code for the first Web server, Web browser and the Web page. The project got a boost as the first personal computer browser with GUI called Mosaic appeared in 1993, which was developed at the National Centre for Supercomputer Applications (NCSA). CERN released the service of Web and related concepts into the public domain on 30th April 1993, and they formed a group called World Wide Web Consortium (W3C) to manage the standards for the service of Web.
As CERN specifies in their public release document, “Webs can be independent, a subset or a superset of each other. They can be local, regional or worldwide. The documents available on a web may reside on any computer supported by that web.” When a network is utilised over HTTP, that facility is called the "service-of-web” or simply "web" (note that it is not called "web service" on this site, since the term "web service" has a different meaning). Also, note that the set of interlinked documents is referred to as a “Web” (short for “website”), as well as the WWW. One should be careful to understand the context of the term "web".
The use of the service-of-web via the Internet is called the World Wide Web, or simply WWW, and also W3. Accessing information on the WWW is via a hyperlink model; the information is format-independent, access is highly platform-independent, and it is scalable from local notes to distributed databases.
Networks are defined by the TCP/IP standard, as is the Internet, which is a network of networks. In any network, the resources are identified by global identifiers called Uniform Resource Identifiers (URI) or URLs. People, software, devices such as servers, proxies, browsers, etc. – who utilise the service-of-web in any network – are called web agents. The basic architecture of the service-of-web is the Client-Server architecture, where the agent requesting the service is called the “Client” (destination), and the agent providing the service is called the “Server” (source). The communication model between the client and the server is called the request-response model, which utilises HTTP.
Synchronous communication
Asynchronous communication
Images from: Web Programming Step by Step, 2nd Edition
At the beginning, the web pages were developed using HTML. Thereafter, JavaScript (JS) was introduced by Brendan Eich in 1995 for the Netscape browser, and was later handed over to ECMA and became the ECMA-262 standard in 1997.
In parallel with JS, the W3C published the first CSS standard on December 17, 1996.
At the beginning, CSS and JS were not strong enough to add rich GUI and media content on the web pages, and many plug-in-based technologies were introduced, such as JAVA applets and Macromedia (now Adobe) Flash, introducing the Rich Internet Applications (RIAs). They became very popular; however, the plug-in-based approach was later made obsolete as JS grew stronger. Therefore, more details are not discussed here.
Microsoft was working on a technology named XMLHTTP in their Exchange 2000 project, and it was first introduced to the world as an ActiveX control in Internet Explorer 5.0 in March 1999; and later it was called the XMLHttpRequest (XHR) object.
In 2005, Jesse James Garrett from Adaptive Path coined the term Asynchronous JavaScript And XML (AJAX), introducing a JS-based asynchronous communication technique for web applications that utilises the XHR object. This technique became popular and ushered traditional Web applications into a new era called Web 2.0. Later, W3C acquired control of the XHR object and released the first specification in 2006, and since then, the term AJAX has become another informal name for RIAs.
AJAX can be seen as the beginning of the JS-based RIA development approach, and it marked a major breakthrough in web development. After its introduction, developers learned to use AJAX to create desktop-like GUIs in web applications such as Google Apps, and later used it to develop enterprise RIAs.
Using JS’s ability to manipulate the Document Object Model (DOM) in HTML, AJAX achieves and enhances the interoperability capability of web apps with XML. AJAX is a data-pull technique that means the client requests and fetches data from the server, using the traditional request-response model. It should be noted that AJAX itself is not a technology; it is a technique which is implemented using pure JS or JS-based technologies. The power of AJAX lies in its ability to perform “asynchronous communication”.
In W3C’s first draft of the XHR object, the result from the server was accepted, as the name implies, in XML. However, in later versions, the XHR object supports various data types, such as plain-text, XML, JSON, and Blob. Furthermore, although the name AJAX suggests “asynchronous,” the XHR object can also support synchronous communication (the XHR API includes a synchronous mode setting). When looking at these facts, the term AJAX looks outdated in both “Asynchronous” and “XML” aspects.
Later in 2015, as a part of the ES6 (ECMAScript 2015) specification, the Fetch API was introduced, replacing AJAX and XHR.
Addressing the limitations of the term AJAX and covering a wider range of techniques and technologies, this website uses the term Delta Communication (DC), as defined in Delta Communication: The Power of the Rich Internet Applications in 2017. DC is discussed in depth under the Concepts and Terminology menu. RiWAs are the web-based systems which use DC, and all related concepts are discussed under the Concepts and Terminology menu.