libwww

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
libwww
Libwww.gif
Original author(s) Tim Berners-Lee, Jean-Francois Groff[1]
Developer(s) Henrik Frystyk Nielsen
Initial release 1.0, November 1992 (1992-11)[2]
Stable release 5.4.1[3] / 4 December 2006; 17 years ago (2006-12-04)
Development status Inactive
Written in C
Operating system FreeBSD,[4] Solaris,[4] Linux,[4] Mac OS X,[4] Microsoft Windows[4]
Type API for Internet applications
License W3C Software Notice and License
Website www.w3.org/Library/

libwww (Library World Wide Web) 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[5] so that software developers do not have to "reinvent the wheel".[6]

libcurl is considered to be a modern replacement for libwww.[7]

History

In 1991 and 1992, Tim Berners-Lee and a student at CERN named Jean-Francois 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.[8] In the beginning libwww was referred to as the Common Library and was not available as a separate product.[9] Before becoming generally available, libwww was integrated in the CERN program library (CERNLIB).[10] In July 1992 the library was ported to DECnet.[11] 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.[12] 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.[13][14] The rapid early development of the library caused Robert Cailliau problems when integrating it into his MacWWW browser.[15]

From 25 November 1994 (version 2.17) Henrik Frystyk Nielsen was responsible for libwww.[16] On 21 March 1995, with the release of version 3.0, CERN put the full responsibility for libwww on the World Wide Web Consortium (W3C).[2] From 1995 onwards, the Line Mode Browser was no longer released separately, but part of the libwww package.[17]

The W3C created the Arena web browser as a testbed and testing tool for HTML3, CSS, PNG and other features like the libwww,[18] but after beta 3, Arena was replaced by Amaya.[19] 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.[16][20]

Features

Libwww supports following protocols:

Other features include:

Libwww supports plug-ins.[6]

Applications using libwww

Lua error in package.lua at line 80: module 'strict' not found. Over 19 applications have used libwww.[30]

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.[6][47]
  • Line Mode Browser, a Spartan web browser.[48]
  • Webbot, a simple application showing how to use libwww for building robots.[6][49]
  • Mini Server, a small application showing how to implement a server or a proxy using libwww.[6]

Criticism

The developers of libcurl have criticised libwww as being not as portable, not thread-safe and lacking several HTTP authentication types.[50] Neither libcurl nor libwww are lightweight enough for some projects.[51]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 2.3 2.4 Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 4.2 4.3 4.4 Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
  6. 6.0 6.1 6.2 6.3 6.4 Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. 15.0 15.1 Lua error in package.lua at line 80: module 'strict' not found.
  16. 16.0 16.1 Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. 21.0 21.1 21.2 21.3 21.4 21.5 21.6 Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. 26.0 26.1 Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. 32.0 32.1 Lua error in package.lua at line 80: module 'strict' not found.
  33. 33.0 33.1 33.2 33.3 33.4 Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lua error in package.lua at line 80: module 'strict' not found.
  47. Lua error in package.lua at line 80: module 'strict' not found.
  48. Krol, Ed, The Whole Internet Catalog User's Guide & Catalog, O'Reilly & Associates, Inc., 1992, Third Printing, February 1993, p. 227.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.

External links