Heroes of the Internet Part 4: Tim Berners-Lee.
Tim Berners-Lee (born 8 June 1955) is an Enhlish computer scientist that’s credited with being the inventor of the World Wide Web (not the internet, the US Military effectively invented the internet).
It might also be a bit of a stretch to say that Tim Berners-Lee invented the World Wide Web, but he did create what the World Wide Web uses, which is:
- HTML (HyperText Markup Language)
- The URL system
- HTTP (HyperText Transfer protocol)
These are still used today in the World Wide Web that as we know it today.
How it all began: Enquire
In 1980, although unaware of hypertext, Tim Berners-Lee developed his own first hypertext system which was called Enquire.
The Enquire system allowed users to create text based documents and interlink them with hyperlinks. What this meant was you could have documents referring to other documents and linking to these other documents.
This meant that the documents and the ones they linked to could easily be navigated by clicking the links.
he Enquire system was essentially a personal database application designed to help researchers at CERN keep track of and link related information.
Where the Web Began: CERN
Sir Tim Berners-Lee was working at CERN (European Organization for Nuclear Research) when he developed HTML (HyperText Markup Language) and the first web browser. Previous work on the Enquire system was foundational to this, as it essentially operated in the same way.
The development of HTML, the first web browser and ultimately a web server took the principles of enquire to another level with the use of a supporting client (the web browser) and the server (the web server).
In 1989 while working at CERN Tim Berners-Lee wrote a proposal for a system of information sharing, that would later become the World Wide Web.
His proposal outlined the basic concepts of HTML, URLs (Uniform Resource Locators), and HTTP (Hypertext Transfer Protocol). As you can tell already, some of these concepts (links and URLs) were something that the earlier Enquire system used.
To understand the proposal that Tim Berners Lee made, it helps to understand a little about what HTML, URLs and HTTP are:
- HTML: HyperText Markup Language. This is the language that web pages are written in. It’s essentially a formatting language that tells a browser how a web page should be displayed to a human visitor. HTML consits of tags that work in an on/off manner, for example <this-starts-tag> and </this-finishes-tag> and everything in between the two has the tag applied. So if <b> is the tag for bold, this turns bold on <b> and this turns bold off </b> and the words between the two are in bold. The human visitor doesn’t see the tags, the browser applies the tags to the texct in between the two tags. HTML also contains links. We call know what a link is, I’m sure, and links point to URLs. So you can click a link to visit the URL of the link.
- URLs: Uniform Resource Locator. A URL is a reference or address used to access resources on the internet. It’s a string of characters that provides the means to locate and retrieve a particular resource, typically on the World Wide Web. A URL specifies the protocol used to access the resource, the location of the resource, and other information.
- Scheme/Protocol: This indicates the protocol used to access the resource. Common schemes include “http,” “https,” “ftp,” and “mailto.”
- Host: This identifies the domain or IP address where the resource is hosted. For example, in the URL “https://www.example.com,” “www.example.com” is the host.
- Port (optional): This specifies the port number to use when connecting to the server. It is often omitted, and if not provided, the default port for the specified protocol is used. By default port 80 is used for http and 443 for https (with a padlock).
- Path: This indicates the specific location or path to the resource on the server. For example, in the URL “https://www.example.com/path/to/resource,” “/path/to/resource” is the path.
- Query String (optional): This provides additional parameters or data for the resource. It is often used in dynamic web pages. The query string starts with a question mark and is usually in the form of key-value pairs, separated by “&.”
- Fragment/Anchor (optional): This specifies a specific section within the resource. It is preceded by a hash (#) symbol.
- HTTP: HyperText Transfer Protocol. This is an application layer protocol that forms the basis for communication on the World Wide Web. HTTP defines how messages are formatted and transmitted, as well as the actions that web servers and browsers should take in response to various commands.
- Key features of HTTP are:
- Stateless Protocol: Each request from a client (browser) to a server (web server) and each response from the server to the client is independent and unrelated to previous requests or responses. The server does not retain information about the client’s state between requests.
- Client-Server Model: The communication in HTTP involves a client, which is typically a web browser, and a server. The client sends requests to the server, and the server responds with the requested resources or an error message.
- Request-Response Paradigm: Clients send HTTP requests to servers, specifying the desired action, and servers respond with the requested data or perform the specified action.
- Connectionless: Each request from a client to a server is independent, and the connection is typically closed after a response is provided. However, modern implementations often use techniques like keep-alive to maintain open connections and reduce latency.
- Text-based: HTTP messages are typically text-based, consisting of headers and an optional message body. These messages are human-readable and facilitate debugging.
- Uniform Resource Identifiers (URIs): Resources on the web, such as web pages or images, are identified by URIs. URIs are used in HTTP requests to specify the location of the desired resource.
The proposal that Tim Berners-Lee made when at CERN was outlined in a document titled “Information Management: A Proposal,” which he wrote in 1989 while working at CERN. This document laid the foundation for the World Wide Web by introducing the concepts of hypertext and a system for organising and accessing information.
In his proposal, Berners-Lee described the basic elements of what would later become HTML. He introduced the idea of using hypertext to link documents and information, allowing users to navigate seamlessly between different pieces of content. HTML was conceived as a simple markup language that could be used to structure and format documents, making them suitable for display on a variety of computer systems.
The key components of Berners-Lee’s proposal included:
- Hypertext Links: The concept of hypertext links, or hyperlinks, was central to Berners-Lee’s vision. These links would allow users to navigate between documents by clicking on highlighted words or phrases within a document.
- Uniform Resource Identifiers (URIs): Berners-Lee introduced the idea of using URIs to uniquely identify resources on the web. URIs are a fundamental concept in the web architecture and are used to address and locate resources such as documents and images.
- HTTP (Hypertext Transfer Protocol): Berners-Lee proposed a communication protocol for transferring hypertext documents over the Internet. HTTP is the protocol that facilitates the transfer of web pages between servers and clients.
- HTML Markup Language: The proposal included the initial specifications for HTML as a simple markup language to structure documents. HTML tags were used to define elements such as headings, paragraphs, lists, and links.
- Web Browser and Server: Berners-Lee envisioned both a web browser and a web server as integral components of the system. The browser would allow users to view and navigate hypertext documents, while the server would store and serve these documents to users.
These ideas formed the basis for the development of the World Wide Web, and the first website went live in 1991. HTML has since evolved through various versions, with each version introducing new features and capabilities to support the growing complexity of web content.
Why Tim Berners-Lee proposed HTML.
In the late 1980s/early 1990s CERN faced challenges in information sharing among researchers who were dispersed geographically.
Tim Berners-Lee envisioned a system that would allow scientists to easily share and access information, documents, and research findings.
His proposal aimed to address these challenges by providing a standardized way to organize and link documents on the internet.
If you think about how scientific papers are written, they’re a bit liek Wikipedia with references to other papers and scientists work.
What HTML does is allow you to publish your own “scientific paper” on your own web server, allowing you to include links to other “scientific papers” hosted on other web servers, which can be accessed by clicking links in the original paper.
In reality, although this may have not been recognised at the time, this “your own web server” serving “scientific documents” that contain links to other “scientific documents” on “other people’s web servers” was the model for what would become the World Wide Web, except instead of being purely for scientific document purposes, it could be used for all kinds of information.
The main motivations behind Tim Berners-Lee’s proposal wasn’t to make the World Wide Web, it was to share information, by making use of the following:
- Ease of Information Retrieval: The proposed system aimed to make it easier for researchers to retrieve and navigate through interconnected documents. The concept of hypertext allowed for linking related documents through clickable links, providing a more intuitive way to navigate information.
- Compatibility with Existing Systems: The design of HTML and the World Wide Web took into consideration the existing computing infrastructure and protocols, making it compatible with different computer systems and platforms.
- Universality: Tim Berners-Lee envisioned a system that would be universally accessible and usable by people with varying technical backgrounds. This inclusivity was a fundamental principle in the development of the World Wide Web.
Tim Berners-Lee proposed HTML and the World Wide Web to address the specific information management challenges faced by scientists at CERN. His vision was to create a system that would be open, decentralized, and easy to use, laying the foundation for the global and interconnected web that we know today. The proposal outlined the concepts of HTML, URLs, and HTTP, forming the basis for the development of the World Wide Web.
So that was the concept underway (in 1989), but what happened next?
HTML, putting the idea in to practice.
In 1990, Tim Berners-Lee developed the first web browser, called WorldWideWeb (later renamed Nexus), and the first web server.
The World Wide Web was designed as a way to facilitate information sharing among scientists at CERN by creating a system of interlinked documents accessible over the Internet.
The first website, which explained the World Wide Web project, went live in 1991. HTML was the markup language used to structure and format documents on the web, and it played a fundamental role in the creation and growth of the World Wide Web. Berners-Lee’s work laid the foundation for the modern web as we know it today.
When the World Wide Web project was first introduced in 1991, Tim Berners-Lee made the details and specifications freely available to the public.
The web server software, which included the early versions of the HTTP server and the web browser, was distributed as open-source software. This meant that anyone interested in setting up a web server or accessing the World Wide Web could obtain the software without any cost, set up their web server, and make their own website if they wanted to.
So it was MORE than just the idea of HTML, HTTP and URLs that Tim Berners-Lee came up with. It was also the software that could make use of these that he provided, and he provided this to anyone that wanted it, at no cost.
The no cost aspect, although most likely born out of a want to share this great idea, was actually quite a savvy move.
The availability of the software played a crucial role in the rapid adoption and growth of the World Wide Web. By making the specifications and code freely accessible, Tim Berners-Lee encouraged collaboration and innovation within the emerging online community.
Here’s how people could get hold of the web server software:
- Open-Source Distribution: Tim Berners-Lee released the source code for the early web server software as open-source. Open-source software allows users to view, modify, and distribute the source code freely. This fostered a collaborative environment where developers worldwide could contribute to the improvement and evolution of the software.
- Online Availability: The source code and documentation were likely made available on the internet through various channels, including FTP (File Transfer Protocol) servers and other early online repositories. Interested individuals and organizations could download the necessary files to set up their own web servers.
- Usenet and Online Communities: During this time, Usenet newsgroups and online discussion forums were essential communication platforms. Information about the World Wide Web project, including details on obtaining the software, could be shared and discussed in these communities.
- Documentation and Manuals: Tim Berners-Lee and his team likely provided documentation and manuals along with the software, explaining how to set up and configure a web server using the provided code. This documentation would have been crucial for individuals who were new to the concept of the World Wide Web.
As a result of this open and collaborative approach, the early web server software spread rapidly, and individuals and organizations around the world began setting up their own web servers. This marked the beginning of the widespread adoption of the World Wide Web and the transformation of the internet into the dynamic and interconnected platform we know today.
So not only did Tim Berners-Lee come up with the initial idea that would evolve in to the World Wide Web we know today, he also came up with the software to run it, and provided that for free, which in turn lead to an uptake in adoption, and people using it for more that just sharing scientific knowledge.
My favourite part of this whole story, is that Tim Berners-Lee essentially invented the World Wide Web, then made the first website EVER, and then used that to distribute the software that people could use to make their own websites and host them.
The thing was, nobody used the World Wide Web when he did that, simply because it was such a new thing.
OK, sure you could obtain the software he’d made from other sources, but this is a bit like going:
“I know, I’ll invent the World Wide Web, develop the software used to run it, then distribute the software on my website (on the World Wide Web, which people are yet to use)”.
It sounds a bit crazy when I put it like that doesn’t it? And you might expect it to fail if you think of it like that.
But it didn’t!
The idea of the World Wide Web, the sharing and interlinking of informational resources, in itself was such a powerful, yet simple concept that it could easily be adopted (for free) to disperse information as anyone saw fit, and link it to other resources belonging to other people that had done the same.
When you think of things more along those lines, you can see why it was widely adopted and used on a global scale.
So my favourite part of this story is really this irony:
Something presented and available on a system that hadn’t been yet been adopted, ended up being globally adopted and to the degree where billions of people use it on a daily basis.
That’s a bit like me developing telepathy, then only being able to telepathise with other telepaths (of which there are none), only to find that 30 years later, everyone is telepathic.
Well, anyway, well done Tim Berners-Lee, without you, we’d all have a lot less information in our lives, and it would be a lot harder to access.
And that’s why Tim Berners-Lee gets in to the Heroes of the Internet.