The Internet and the World Wide Web (WWW) technologies have changed how we communicate, work and do business. In this article, I will try to point out some of the reasons why the Internet and WWW became so successful.
I love the 'Internet' and 'World Wide Web' (WWW, or the web) Technologies!
The Internet  fascinates me, and I am not alone. Computer professionals and academics all around the world have spent a significant amount of time asking a simple question, 'Why is it so successful?' It has changed how we work, how we run our businesses, and how we communicate with each other. It is, probably, the most influential invention mankind has ever invented. It, virtually, has changed our way of life.
The Internet is a simple technology, designed by the scientists to exchange research data among themselves, and it was not intended for the purposes we now use it for. Considering the simplicity of its design, but an unprecedented level of popularity and influence on our way of life, peoples' fascination is understandable. And, amazingly, the answer/answers could not be simpler! Its simplicity itself is one of the main reasons for its success.
In this article, I will highlight some of the reasons of Internet technology's success. And, as indicated in the footnote, for the sake of simplicity, I will use the term 'Internet' and 'World Wide Web' interchangeably, or simply 'Internet' to refer to both technologies.
The Internet system is built on the client-server architecture model, in which a server provides services to clients using some form of (predefined) language/protocol. The Internet system -- in barebone form -- has the following components:
- A server,
- A client,
- HyperText Transfer Protocol (HTTP): Communication protocol
- HyperText Markup Language (HTML): Data exchange format/language
A Server (a web server for our case here) is responsible for maintaining and serving the requested content (image, text file, etc.) to the requesting clients. It has the following tasks:
- Manage its content, and wait for clients' requests for content (a request comes in a form of 'an HTTP request'), and
- respond with the content if found or respond accordingly (a reply goes out in the form of 'an HTTP reply').
A web server uses HTTP (Hypertext Transfer Protocol) technology to handle/serve the requests.
The web browser plays a role of a client, it has the following tasks:
- Initiate HTTP requests to web server
- Interpret HTTP commands and HTTP reply from web Server
- Render HTTP responses, received from web server, for users
HyperText Transfer Protocol (HTTP)  is a language, protocol, or technology used by a web server and a client as a means of communication. It is a simple technology, in which a server waits for an HTTP request of a client, and responds with an HTTP reply. The following diagram illustrates the sessions between a server and a client:
As shown in the diagram, the HTTP has the following details:
- An Internet client (browser) initiates an HTTP request to the server, and the server responds with an HTTP reply (a client requests for a file --text, image, audio, video, etc. --, and the server passes the file back to the client).
- HTTP Request and Reply is done using HTTP's standard protocol, based on a client/server architecture model.
- HTTP is an Application Layer protocol that runs over Transport Control Protocol (TCP). The details of Application layer and TCP will follow in future articles.
- HTTP is a stateless protocol  that all HTTP requests are independent of each other. In the diagram, request 1 and request 2 are two independent requests, regardless of the fact that both requests could be from the same client at the same time (immediately after each other, of course) for the same file.
HTTP is so simple that it only has few commands.
The HyperText Markup Language (HTML)  is a simple markup language -- based on the Standard Generalised Markup Language (SGML) specification -- to specify the structure of documents, mainly used for data exchange on the web. As a simple language, it is not difficult to learn. And, due to the availability of numerous Graphical Development tools, one can easily create documents without knowing the HTML coding.
In summary, the Internet system is very simple that:
- a web server provides services to clients, and HTTP technology is used for communication;
- a web server works in a stateless manner (simplest possible model - no states are maintained);
- a web browser acts as a client;
- HyperText Markup Language (HTML) is used as a data format for data exchange between a server and a client; and
- both HTTP and HTML are simple technologies.
The Internet concept evolved from the well researched, and heavily invested telecommunication technologies with over a century-long experience. As the Internet was developed to use the existing telecommunication infrastructure -- a gigantic network of networks covering the globe -- its reach, by design, was global on day one.
We first connected to the Internet on 'Dial-up Network Access' using conventional telephone systems. This was not as effective as we wanted/needed, but it definitely gave a taste of possibilities to the world.
As the world started seeing the Internet choking on the 'Dial-up Network Access', the Internet community provided ADSL (Asynchronous Digital Subscriber Line) connection -- truly innovative approach -- to save the day.
The Internet has covered a significant distance since the days of 'Dial-up Network Access', we now have a multitude of options to connect to the Internet, such as ADSL, cable, fibre, mobile, etc.
Various groups -- such as the World Wide Web Consortium (W3C), the Internet Engineering Task Force(IETF), the Web Hypertext Application Technology Working Group (WHATWG), the Unicode Consortium, the Internet Assigned Numbers Authority (IANA), etc. -- work on providing standard and specification of various interdependent technologies that run the Internet and World Wide Web.
The Internet is not just a set of technologies but also the philosophies of people around it. It is a prime example of how far peoples' cooperations can go and achieve. All Internet standards are open, non-proprietary, and platform-neutral that anybody can contribute or use.
There is a saying 'Internet belongs to everybody or nobody'.
Packet-switching and Circuit-switching are two different technologies used in data communication. The conventional telephone system is based on circuit-switching technology, while Internet communication uses packet-switching technology.
In circuit-switching technology, when two entities (telephone caller and receiver) try to connect to each other, the following things happen:
- a dedicated channel is established between them,
- all communicated data packets are sent/received using the dedicated channel throughout the session, and
- the channel is torn down at the end of the conversation.
The channel becomes free for others to use once it has been torn down.
In packet-switching technology, in other hands, needs no dedicated channel. So, instead of taking the same channel (predefined route), each packet decides its own routes, independently, to its destination.
The packet-switching technology's approach of not enforcing a predefined route/channel means that:
- the network (switches/routers) has the freedom to choose the best route, and
- avoid the over-congested or broken down routes to the destinations.
The packet switching technology is an innovative approach, suitable for a global network, like Internet.
The packet-switching technology, however, is not the replacement for circuit-switching technology -- as circuit-switching has its own strength in its area.
Tim Berners-Lee -- inventor of World Wide Web  -- introduced the concept of Uniform Resource Identifier (URI). A URI -- http://maadis.ie/aboutus.html, for example -- is a format how we access/manipulate resources in the world wide web. A URI has the following components:
- Protocol: What protocol to use to access/manipulate the resources (HTTP, FTP, Gopher, etc.)
- Location of Server: Server's Ip address, server name (maadis.ie).
- Resource: Name of the resource in the server (aboutus.html).
In the URI, the first parameter provides the option of specifying the protocol that could be other than HTTP (FTP, gopher or future protocols) -- a gesture of open, inclusive and extensibility nature of World Wide Web design.
In the web, using the hypertext/hyperlink technologies, a user can jump from one document to the next or from one section to another. We have the following terms:
- Hypertext: A hypertext is a word/text/image displayed on the screen clicking which will take users to the document/section of the document attached to it.
- Hyperlink: A hyperlink is a location of document/section of the document attached to the hypertext.
In short, a hypertext is a text/image a user sees on the screen and clicking of which will take the user to the hyperlink attached to the hypertext. The attached hyperlink has the location of the resource (text, image, etc.).
Ted Nelson coined the term 'hypertext' in early 60s, and he started a project, named Xanadu  , to implement the system he envisaged. His concept was inspired by Vannevar Bush's hypothetical memex machine of 1945. The project did not go as planned, the concept, however, influenced many other projects, including World Wide Web.
Berners-Lee adopted the simpler version of the hypertext/hyperlink concept as user-interface and navigations systems for the web. Once combined with the concept of URI, it opened up a new era that users can move from one reference to next in non-linear fashion, allowing them to view multiple references at once.
It was a revolutionary leap to be able to reference multiple documents to one another and jump from reference to reference in a non-linear fashion.
The Internet started its journey with the intention of connecting no more than few Departments or Universities, but it ended up connecting the whole world. The reasons for its success, however, boil down to few simple facts: design simplicity, standardisation, and open and non-proprietary nature of the Internet standards.
The Internet system I described in this article is a bare-bone system -- the system before its popularity. When it moved from Universities to Business world, and few nodes to the mass, it had to go through a series of innovative processes. Some of the noteworthy areas of improvement/innovation in today's Internet are:
- Visual presentation: The HTML's raw display presentation was good enough for the scientific community, but it became immediately clear that it had to work on the presentation technologies for the acceptance of the business world. The World Wide Web definitely has taken a big leap in this area - thanks to the business world for this.
- Static to dynamic content: Today's web contents are not static anymore, and to manage and serve the dynamic contents, we have multitudes of tools, technologies, platforms, scripting languages, etc.
- Internet Safety and Security: The Internet was invented by innocent scientists to share information among themselves, so no security consideration was made in its design. As the business community started going online, and wanted e-commerce and online transactions, security layers were added.
- Internet Protocol (IP) address shortfalls problem: As the Internet was not designed for the mass, the initial IP address design and scope could not provide the expected number of IP addresses for the world. This brought few innovative technologies, such as Network Address Translation (NAT) technology, and now we have IP Version 6.
- Broadband revolution: As a website designer in late 90s and early 2000s, I remember the constraint we had to go through for image sizing. The 'World Wide Web' was even nicknamed 'World Wide Wait'. Now we have broadband for so long that we have already forgotten that we once had 'Dial-up Nework Access' to connect to the Internet.
One noteworthy point here is that all above features are added on top of the original design, meaning that under the hood, somewhere at the bottom, Berners-Lee's simple design still, fundamentally, runs the web.
The Internet is not a small network anymore. Or, it is not a network at all -- it is a 'money making machine' if you are a businessman, it is a 'tool for activism' if you are an activist, a 'place where you can troll, crack, scam, spam' and brag about it if you are a person of that kind, and for some, it could be just one of the apps (facebook, skype, twitter, email, etc.) or a small computer that lets you talk to your grandkids in faraway city/country. Yes, the Internet is too big that it cannot fit in one definition, so let people define for themselves.
As for me, as a computer professional, the Internet still is a 'network of networks' that provides a window to see the world. To me, it represents the power of people's innovation, cooperation, and more. It is a noisy and chaotic world, but I love it.
A. Revision History
|Revision 0.0-0||Fri, 16 June 2017|
 The Internet and World Wide Web technologies refer to two different sets of technologies. The Internet refers to the network infrastructure while the web is the technology that uses it (the Internet) to enable users to communicate in the network. The Internet has a long history, I will, however, only look at the success of Internet after the web. For the sake of simplicity, I will use both terms interchangeably and in singular form.
 Opposite of stateless protocol is stateful protocol, and the difference is that in stateful all the states (records of who access, what, when, etc., for example) are maintained/recorded, while in stateless protocol no such records are maintained. In other words, in stateless protocol, a server simply provides the requested files/content without keeping records. It is the simplest possible design in communication system.
 In 1960, Ted Nelson founded
WordStar Resource Sitethe Xanadu projectto implement a system of his hypertext vision. As he put it, things did not go right in 80s, the idea was misunderstood. It is pretty amazing though, despite all odds, the project is still ongoing. The Xanadu's official site displays its message, "The computer world is not just technicality and razzle-dazzle. It is a continual war over software politics and paradigms. With ideas which are still radical, WE FIGHT ON."