Libwww


libwww is a modular client-side web API for Unix and Windows. It is also the name of the reference implementation of the libwww API.
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 purpose of libwww is to serve as a testbed for protocol experiments so that software developers do not have to "reinvent the wheel."
libcurl is considered to be a modern replacement for libwww.

History

In 1991 and 1992, Tim Berners-Lee and a student at CERN named Jean-François Groff rewrote various components of the original WorldWideWeb browser for the NeXTstep operating system in portable C code, in order to demonstrate the potential of the World Wide 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. 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 to encourage the development of web browsers. He initially considered releasing the software under the GNU General Public License, 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 browser.
From 25 November 1994 Henrik Frystyk Nielsen was responsible for libwww.
On 21 March 1995, with the release of version 3.0, CERN put the full responsibility for libwww on the World Wide Web Consortium. From 1995 onwards, the Line Mode Browser was no longer released separately, but part of the libwww package.
The W3C created the Arena web browser as a testbed and testing tool for HTML3, CSS, PNG and other features like the libwww, but after beta 3, Arena was replaced by Amaya. On 2 September 2003 the W3C stopped development of the library due a lack of resources, with the expectation that any further development would come from the open source community.

Features

Libwww supports following protocols:
Other features include:
Libwww supports plug-ins.

Applications using libwww

Over 19 applications have used libwww.
Integrated applications in libwww are:
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.