Libwww was an early
World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web ...
software library
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and sub ...
providing core functions for
browsers, implementing
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
,
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
, and other technologies.
Tim Berners-Lee
Sir Timothy John Berners-Lee (born 8 June 1955), also known as TimBL, is an English computer scientist best known as the inventor of the World Wide Web. He is a Professorial Fellow of Computer Science at the University of Oxford and a profes ...
, at
CERN
The European Organization for Nuclear Research, known as CERN (; ; ), is an intergovernmental organization that operates the largest particle physics laboratory in the world. Established in 1954, it is based in a northwestern suburb of Gen ...
, released libwww (then also called the "Common Library") in late 1992, comprising reusable code from the first browsers (
WorldWideWeb
WorldWideWeb (later renamed Nexus to avoid confusion between the software and the World Wide Web) is the first web browser and web page editor. It was discontinued in 1994. It was the first WYSIWYG HTML editor.
The source code was released in ...
and
Line Mode Browser).
Libwww was relied upon by the popular browser
Mosaic
A mosaic is a pattern or image made of small regular or irregular pieces of colored stone, glass or ceramic, held in place by plaster/mortar, and covering a surface. Mosaics are often used as floor and wall decoration, and were particularly pop ...
.
By 1997, however, interest in libwww declined, and the
W3C (which took over from CERN) reduced its commitment to the project.
Later, the purpose of libwww was redefined to be "a testbed for protocol experiments",
and in that vein it was maintained for the benefit of the W3C's
standards Standard may refer to:
Symbols
* Colours, standards and guidons, kinds of military signs
* Standard (emblem), a type of a large symbol or emblem used for identification
Norms, conventions or requirements
* Standard (metrology), an object t ...
-promoting browser
Amaya.
Active development of libwww stopped in 2000.
libcurl
cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL".
History
cURL was f ...
is considered to be a modern replacement for libwww.
History
In 1991 and 1992,
Tim Berners-Lee
Sir Timothy John Berners-Lee (born 8 June 1955), also known as TimBL, is an English computer scientist best known as the inventor of the World Wide Web. He is a Professorial Fellow of Computer Science at the University of Oxford and a profes ...
and a student at
CERN
The European Organization for Nuclear Research, known as CERN (; ; ), is an intergovernmental organization that operates the largest particle physics laboratory in the world. Established in 1954, it is based in a northwestern suburb of Gen ...
named
Jean-François Groff rewrote various components of the original
WorldWideWeb
WorldWideWeb (later renamed Nexus to avoid confusion between the software and the World Wide Web) is the first web browser and web page editor. It was discontinued in 1994. It was the first WYSIWYG HTML editor.
The source code was released in ...
browser for the
NeXTstep
NeXTSTEP is a discontinued object-oriented, multitasking operating system based on the Mach kernel and the UNIX-derived BSD. It was developed by NeXT Computer in the late 1980s and early 1990s and was initially used for its range of propri ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
in
portable
Portable may refer to:
General
* Portable building, a manufactured structure that is built off site and moved in upon completion of site and utility work
* Portable classroom, a temporary building installed on the grounds of a school to provide ...
C code, in order to demonstrate the potential of the
World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web ...
.
In the beginning libwww was referred to as the Common Library and was not available as a separate product.
Before becoming generally available, libwww was integrated in the
CERN program library (CERNLIB). In July 1992 the library was ported to
DECnet
DECnet is a suite of network protocols created by Digital Equipment Corporation. Originally released in 1975 in order to connect two PDP-11 minicomputers, it evolved into one of the first peer-to-peer network architectures, thus transforming D ...
. In the May 1993 World Wide Web Newsletter Berners-Lee announced that the Common Library was now called libwww and was licensed as
public domain
The public domain (PD) consists of all the creative work to which no exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly waived, or may be inapplicable. Because those rights have expired ...
to encourage the development of
web browsers
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
.
He initially considered releasing the software under the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
, rather than into the public domain, but decided against it due to concerns that large corporations such as
IBM would be deterred from using it by the restrictions of the GPL.
The rapid early development of the library caused
Robert Cailliau problems when integrating it into his
MacWWW
MacWWW, also known as Samba, is an early minimalist web browser from 1992 meant to run on Macintosh computers. It was the first web browser for the classic Mac OS platform, and the first for any non-Unix operating system. MacWWW tries to emulate ...
browser.
From February 1994 to July 1999 (versions 2.17 to 5.2.8),
Henrik Frystyk Nielsen
Henrik Frystyk Nielsen (born 1969) is a Danish engineer and computer scientist. He is best known for his pioneering work on the World Wide Web and subsequent work on computer network protocols.
Biography
Henrik Frystyk Nielsen was born 1 August 1 ...
was responsible for libwww, first as a graduate student at CERN and later at the
World Wide Web Consortium
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working ...
(W3C).
On 21 March 1995, with the release of version 3.0, CERN transferred responsibility for libwww to the W3C.
From 1995 onwards, the
Line Mode Browser was no longer released separately, but part of the libwww package.
On 2 March 1997, Nielsen announced that Libwww 5.1 was expected to be the last release.
Later that year, on 24 Dec 1997, Nielsen put out an unsuccessful call for another party outside W3C to take over maintenance of the library.
Nielsen left the W3C in July 1999, and the project was thereafter headed by José Kahan as the only W3C employee involved with the project.
On 2 September 2003 the W3C (re-)stated that development had stopped, citing a lack of resources.
On 29 January 2004, the W3C once again confirmed that it would not continue development, and was seeking
open source community
The open-source-software movement is a movement that supports the use of open-source licenses for some or all software, as part of the broader notion of open collaboration. The open-source movement was started to spread the concept/idea of open ...
maintainers.
The first (and only) "community supported maintenance release" was made in 2005, after a gap of 3 years.
After a further lapse of 12 years, a security patch was released in 2017.
Features
In 2003, Kahan claimed that "libwww is the only library that has a full implementation of the HTTP specification, including caching and pipelining."
Libwww supports following
protocols:
*
file
*
FTP
*
Gopher
*
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
1.1 with a Persistent Cache Manager,
pipelining
*
NNTP
The Network News Transfer Protocol (NNTP) is an application protocol used for transporting Usenet news articles (''netnews'') between news servers, and for reading/posting articles by the end user client applications. Brian Kantor of the Univers ...
*
Telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control i ...
*
WAIS
Other features include:
*
TLS and SSL can be used through
OpenSSL.
*
gzip
gzip is a file format and a software application used for file compression and decompression. The program was created by Jean-loup Gailly and Mark Adler as a free software replacement for the compress program used in early Unix systems, and i ...
compression and decompression through
zlib
zlib ( or "zeta-lib", ) is a software library used for data compression. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. zlib is also ...
*a
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
,
RDF,
SGML and
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
parser
Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from Lat ...
and a
style sheet manager
*an integration of a
SQL database (using the
MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
server) for e.g.
web crawler
A Web crawler, sometimes called a spider or spiderbot and often shortened to crawler, is an Internet bot that systematically browses the World Wide Web and that is typically operated by search engines for the purpose of Web indexing (''web spid ...
s
Libwww supports
plug-ins.
Applications using libwww
It has been used for applications of varying sizes, including web browsers, editors, Internet bots, and batch tools. Pluggable modules provided with libwww add support for HTTP/1.1 with caching, pipelining, POST, Digest Authentication, and deflate.
The W3C created the
Arena web browser as a testbed and testing tool for
HTML3
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
,
CSS,
PNG and libwww, among other technologies. Arena was later replaced in that role by
Amaya.
According to a survey conducted in September 2003, at least 19 applications used libwww.
*
Agora
*Arena
*Amaya
*
Cello
The cello ( ; plural ''celli'' or ''cellos'') or violoncello ( ; ) is a bowed (sometimes plucked and occasionally hit) string instrument of the violin family. Its four strings are usually tuned in perfect fifths: from low to high, C2, G ...
*
CERN httpd server
*
Cygwin
*
Distributed Oceanographic Data Systems with the
OPeNDAP OPeNDAP is an acronym for "Open-source Project for a Network Data Access Protocol," an endeavor focused on enhancing the retrieval of remote, structured data through a Web-based architecture and a discipline-neutral Data Access Protocol (DAP). Widel ...
*
GRIF Symposia, a
HTML editor
An HTML editor is a program for editing HTML, the markup of a web page. Although the HTML markup in a web page can be controlled with any text editor, specialized HTML editors can offer convenience and added functionality. For example, many HT ...
*
Lynx
*
MacWWW
MacWWW, also known as Samba, is an early minimalist web browser from 1992 meant to run on Macintosh computers. It was the first web browser for the classic Mac OS platform, and the first for any non-Unix operating system. MacWWW tries to emulate ...
*
Mosaic
A mosaic is a pattern or image made of small regular or irregular pieces of colored stone, glass or ceramic, held in place by plaster/mortar, and covering a surface. Mosaics are often used as floor and wall decoration, and were particularly pop ...
*
ROS (Robot Operating System)
*
TkWeb
*
tkWWW
tkWWW is an early, now discontinued web browser and WYSIWYG HTML editor written by Joseph Wang at MIT as part of Project Athena and the Globewide Network Academy project. The browser was based on the Tcl language and the Tk (toolkit) extension ...
*
WorldWideWeb
WorldWideWeb (later renamed Nexus to avoid confusion between the software and the World Wide Web) is the first web browser and web page editor. It was discontinued in 1994. It was the first WYSIWYG HTML editor.
The source code was released in ...
(later ''Nexus'')
Integrated applications in libwww are:
*Command Line Tool, an application which shows how to use libwww for building simple batch mode tools for accessing the Web.
*
Line Mode Browser, a Spartan web browser.
*Webbot, a simple application showing how to use libwww for building robots.
*Mini Server, a small application showing how to implement a server or a proxy using libwww.
Criticism
The developers of
libcurl have criticised libwww as being not as
portable
Portable may refer to:
General
* Portable building, a manufactured structure that is built off site and moved in upon completion of site and utility work
* Portable classroom, a temporary building installed on the grounds of a school to provide ...
, not
thread-safe Thread safety is a computer programming concept applicable to multi-threaded code. Thread-safe code only manipulates shared data structures in a manner that ensures that all threads behave properly and fulfill their design specifications without uni ...
and lacking several
HTTP authentication types.
Neither
libcurl nor libwww are lightweight enough for some projects.
See also
*
Library for WWW in Perl
*
cURL
References
External links
*
libwww hackerspresented on the
Mosaic and the Web
A mosaic is a pattern or image made of small regular or irregular pieces of colored stone, glass or ceramic, held in place by plaster/mortar, and covering a surface. Mosaics are often used as floor and wall decoration, and were particularly pop ...
conference in Chicago
{{W3C standards
Application programming interfaces
C (programming language) libraries
Cross-platform free software
Free FTP clients
Free software programmed in C
Free web crawlers
Hypertext Transfer Protocol clients
Software using the W3C license
CERN software