4.5 Case Study 1: release of the WWW software and protocols
By Christmas 1990 demo versions of both browsers and a prototype Web server were available, enabling users to access hypertext files, articles from internet news (i.e. discussion) groups and files from the help system of one of the CERN computers. By March of the following year, the line-mode browser was released to a limited audience to run on a variety of different minicomputers. On 17 May 1991 the WWW software was generally released on central CERN machines. In August, information about the project and the software were posted in relevant internet news groups. In October gateways were installed enabling the browsers to access Help files on the VAX VMS operating system and WAIS servers on the internet. Finally, in December, the CERN computer newsletter announced the Web to the world of high energy physics. It had taken just over a year from the moment Berners-Lee had typed the first line of code.
Berners-Lee's underlying model of the Web was what is known in computer-speak as a ‘client-server’ one. That is to say, he envisaged a system in which information would be held on networked computers called servers, and that these would be accessed by client programs (browsers) running on other networked computers. Servers, in this model, are essentially givers, while clients are always takers (though they give some information about themselves to servers at the moment of interaction). The central tasks in building such a system were to design and write programs which would enable computers to act as servers and clients, to create a common language in which both could converse, and to set up some conventions by which they could locate one another.
The client-server model was already well established in the computer business when Berners-Lee started work. There were innumerable computers on the Net that operated as servers, and there were several ways of extracting information from them. At the lowest level, you could use the primitive TELNET facility to log onto a remote computer and (if you had the necessary permissions) run programs on it. Or you could use the FTP program to log on remotely and download files. (This indeed was – and remains – the standard way to transfer programs and data across the Net.) And there were search facilities like GOPHER and WAIS for locating information.
In order to make use of these facilities, however, users needed to know what they were doing. Accessing the Net before Berners-Lee was akin to using the MS-DOS operating system – you could do almost anything provided you knew the lingo. The trouble was that the lingo was user-hostile. The pre-WWW Net was, wrote Robert Reid,
an almost militantly egalitarian and cooperative community. Nobody owned the network. Virtually nobody made money from it directly. Almost every piece of software that governed or accessed it was free (the people who wrote it generally did so from the goodness of their hearts, or to make names for themselves, or as parts of funded projects). But its egalitarianism aside, the internet's tight de facto admission requirements of technical acumen, access and pricey tools also made it a very elite realm.
One of the central tasks that Berners-Lee faced in creating the Web was the lowering of this threshold. He achieved it partly by inventing an interface – a program which stood between the user and the vast and disparate information resources of the Net.
In seeking a model for this interface he drew heavily on ideas which had been circulating since the mid-1960s in the academic hypertext community, where the problem of navigating through a virtual space of linked texts had been addressed through the notion of a ‘browser’, i.e. a virtual window which displayed the structure of the space.
Creating the Web was not just a matter of writing the code for browsers, however. Because the Net, with its incredible diversity, was central to the project, Berners-Lee had to invent a way of ensuring that publicly available information resources held on any networked computer anywhere in the world could be accessed through the browser.
The only way to do this was to create a set of protocols by which different computers could talk to one another and exchange information. One protocol (analogous to the IP convention for internet addressing) had to specify the location where information was held. For this Berners-Lee invented the ‘Uniform Resource Locator’ or URL.
Another protocol was needed to specify how information exchange between computers should be handled. For this he created the ‘Hypertext Transfer Protocol’, HTTP (analogous to FTP). And finally he had to invent a uniform way of structuring documents. For this he proposed ‘Hypertext Mark-up Language’, or HTML, as a subset of the Standard Generalised Mark-up Language (SGML) tagging system which was already established in the electronic publishing business.
URLs and HTML are thus pretty straightforward. HTTP, the protocol which controls how computers issue and respond to requests for information, is more complicated. Berners-Lee summarised it as ‘a generic stateless object-oriented protocol’. In non-technical language, what HTTP essentially does is to prescribe how the four stages of a Web transaction – connection, request, response and close – should be conducted.
Looking back, it is not so much the elegance of Berners-Lee's creation which is striking, but its comprehensiveness. In just over a year he took the Web all the way – from the original conception, through the hacking out of primitive browsers and servers, to the creation and elaboration of the protocols needed to make the whole thing work.
The Web went public on 15 January 1991 when the line-mode browser developed at CERN was made available by the process known as ‘anonymous FTP’. That is to say, anyone with a Net connection and a copy of the FTP program could call up the CERN site, log in without having to use a password, and download the browser code. Other researchers – many not based at CERN – were already busy developing graphics-based browsers. In April a Finnish client for UNIX called ‘Erwise’ was released, and this was followed in May by the release of Pei Wei's Viola graphical browser (also for UNIX computers). By July, CERN was distributing all the code (server and browsers, including Viola) from its servers.
In November 1992 there were 26 known WWW servers in existence, including one at the US National Centre for Supercomputer Applications (NCSA) at the University of Illinois at Champaign-Urbana. Two months later, the number of servers had almost doubled, to 50. By internet standards this was encouraging growth, but nothing spectacular: the Web was still just one of the many applications running across the network. Compared with email, FTP and other traffic, the HTTP traffic was still pretty small beer. And then there was another spike of innovation – in the Spring of 1993 a student in Illinois launched a browser that triggered the explosive growth of the Web. It was called Mosaic.
4.4.3 Principles of the design