HOME

TheInfoList



OR:

Libwww is an early
World Wide Web The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
software library In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
providing core functions for
web browser A web browser, often shortened to browser, is an application 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 scr ...
s, implementing
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
,
HTTP HTTP (Hypertext Transfer Protocol) 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 Web, wher ...
, 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, the HTML markup language, the URL system, and HTTP. He is a professorial research fellow a ...
, at the European Organization for Nuclear Research (
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 Meyrin, western suburb of Gene ...
), 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 i ...
and Line Mode Browser). Libwww was relied upon by the then 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 (masonry), mortar, and covering a surface. Mosaics are often used as floor and wall decoration, and ...
. By 1997, interest in libwww declined, and 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 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
(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"; in that role it was maintained for the benefit of the W3C's web standards-promoting browser Amaya. Active development of libwww stopped in 2000.


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, the HTML markup language, the URL system, and HTTP. He is a professorial research fellow a ...
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 Meyrin, western suburb of Gene ...
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 i ...
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, founded by Steve Jobs, in the late 1980s and early 1990s and was initially used for its ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
in portable C code, in order to demonstrate the potential of the
World Wide Web The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
. 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. 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 exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly Waiver, waived, or may be inapplicable. Because no one holds ...
to encourage the development of web browsers. He initially considered releasing the software under the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
, rather than into the public domain, but decided against it due to concerns that large corporations such as
IBM International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
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 browser. From February 1994 to July 1999 (versions 2.17 to 5.2.8), Henrik Frystyk Nielsen 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 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
(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 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 The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and dat ...
*
Gopher Pocket gophers, commonly referred to simply as gophers, are burrowing rodents of the family Geomyidae. The roughly 41 speciesSearch results for "Geomyidae" on thASM Mammal Diversity Database are all endemic to North and Central America. They ar ...
*
HTTP HTTP (Hypertext Transfer Protocol) 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 Web, wher ...
1.1 with a Persistent Cache Manager, pipelining * NNTP * Telnet * 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 ...
compression and decompression through
zlib zlib ( or "zeta-lib", ) is a software library used for data compression as well as a data format. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compre ...
*a
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
, RDF,
SGML The Standard Generalized Markup Language (SGML; International Organization for Standardization, ISO 8879:1986) is a standard for defining generalized markup languages for documents. ISO 8879 Annex A.1 states that generalized markup is "based on t ...
and
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
parser Parsing, syntax analysis, or syntactic analysis is a process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar by breaking it into parts. The term '' ...
and a style sheet manager *an integration of a SQL database (using the
MySQL MySQL () is an Open-source software, 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 rel ...
server) for e.g.
web crawler 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 spider ...
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, Cascading Style Sheets (CSS),
Portable Network Graphics Portable Network Graphics (PNG, officially pronounced , colloquially pronounced ) is a raster graphics, raster-graphics file graphics file format, format that supports lossless data compression. PNG was developed as an improved, non-patented ...
(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 The agora (; , romanized: ', meaning "market" in Modern Greek) was a central public space in ancient Ancient Greece, Greek polis, city-states. The literal meaning of the word "agora" is "gathering place" or "assembly". The agora was the center ...
*Arena *Amaya *
Cello The violoncello ( , ), commonly abbreviated as cello ( ), is a middle pitched bowed (sometimes pizzicato, plucked and occasionally col legno, hit) string instrument of the violin family. Its four strings are usually intonation (music), tuned i ...
* CERN httpd server * Cygwin * Distributed Oceanographic Data Systems with the OPeNDAP *GRIF Symposia, a
HTML editor An HTML editor is a program used 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, added functionality, and organisation. Fo ...
*
Lynx A lynx ( ; : lynx or lynxes) is any of the four wikt:extant, extant species (the Canada lynx, Iberian lynx, Eurasian lynx and the bobcat) within the medium-sized wild Felidae, cat genus ''Lynx''. The name originated in Middle Engl ...
* MacWWW *
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 (masonry), mortar, and covering a surface. Mosaics are often used as floor and wall decoration, and ...
*
Robot Operating System Robot Operating System (ROS or ros) is an Open-source software, open-source robotics middleware suite. Although ROS is not an operating system (OS) but a set of software frameworks for robot software software development, development, it provide ...
(ROS) *TkWeb * tkWWW *
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 i ...
(later ''Nexus'') Integrated applications in libwww are: *Command Line Tool, an application which shows how to use libwww to build simple batch mode tools to access the Web. * Line Mode Browser, a Spartan web browser. *Webbot, a simple application showing how to use libwww to build 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, not thread-safe 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 hackers


presented on the ''Mosaic and the Web'' 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 Software Notice and License CERN software