# Libwww - the W3C Sample Code Library

Libwww is a general-purpose Web API written in C for Unix and Windows. With a highly extensible and layered API, it can accommodate many different types of applications including clients, robots, etc. The purpose of Libwww is to provide a sample implementation of HTTP and other Internet protocols and to serve as a testbed for protocol experiments. It comes with a lot of "plug-and-play" modules including a rudimentary HTML parser which can do the very basics.

- News, Updates, and Events - libwww is looking for a new home!
- Getting the Source Code - latest version is 5.1k - updated March 23, 1998!
- Installation Guide and new Features
- Tons of WWW interfaces with a large index of public functions
- User Documentation and Design Overview
- Libwww Forums
- Authors and Contributors

Nearby you can find the following example applications that you get when you download the libwww distribution:

- The Mini Robot - a fast robot that allows you to check links etc.
- The Line Mode Browser - a terminal based, simple browser
- The Command Line Tool - a quick too to do all your Web work

Some other applications that use libwww are Arena and Amaya - two GUI clients and Amaya is also an editor.

Also have a look at the W3C Libwww activity statement on support, usability etc.

@(#) $Id: Overview.html,v 1.91 1998/03/23 16:39:01 frystyk Exp $

## News, Updates, and Events

March 23, 1998: Libwww Version 5.1k available for HTTP/1.1 testing! Check out the performance!
  This release is a "second generation" HTTP/1.1 implementation using persistent connections, pipelining, smart output buffering, and persistent caching. It is the code base that was used in the "Network Performance Effects of HTTP/1.1, CSS1, and PNG" paper
  - This release implements HTTP/1.1 Rev-02!
  - Check out the list of new features
  - Complete HTTP/1.1 compliant client side persistent cache manager
  - Support for zlib based decompression and regular expressions - can do really cool things in the Robot
Dec 24, 1997: Libwww is looking for a new home!
  W3C is looking for volunteers to either help or to take over the maintenance and development of the source base including libwww, the Mini Robot (webbot), the terminal based Line Mode Browser, and the Command Line Tool which can be used in batch tools etc. Interested parties can contact Henrik for details!

## Libwww Activity Statement

What is the purpose of libwww? Can I use it as a developer tool for writing Web applications? How is it supported? Read answers to these questions and much more from the W3C activity statement on libwww.

## Getting the Source Code

Read the detailed description or download it directly from here:

- compressed tar file (ca. 2.1M)
- gzip'ed tar file (ca. 1.4M)
- zip file (ca. 1.8M)

W3C Sample Code Library is covered by the W3C Copyright Statement, and with acknowledgment to CERN. You can see how to unpack and compile the software in the README file, and you can find more information on how the Library is designed in the Library Architecture and how to use it in the User's Guide.

## Installation Guide and new Features

How do I get started using libwww? How can I compile it? What has changed in the latest release. Find out by starting here!

- Installation Guide for how to get started
- List of Platforms where libwww can be used
- Release Notes for the latest release
- Change history for older releases
- Known Bugs and Patches - well, the world is not perfect and neither is libwww. This is a list of what we already know is wrong.
- Patches and Bug fixes - When you have modifications and want them to go into our code base then please fill out the form for Corrections, Modifications, and Patches and -send it to us. Otherwise we can not use the patch!

## User Documentation and Design Overview

We have a huge amount of documentation about the design of libwww and how to use it for building applications. Often, however, the easiest is to study the example applications which show in practice how to do tricks with libwww. We try to keep the documentation up to date but it may not always be the case. The best thing is to have a look the list of exported functions. This list is generated automatically and is always up to date.

- Documentation Overview
- The libwww Programming Style Guide
- Quick Overview and Easy Startup Examples
- Complete list of public functions in libwww
- Libwww Architecture - the design overview of how libwww is put together
- User's Guide - the APIs described from a User's perspective
- Library Interfaces- the APIs described in more details
- Compiling for direct WAIS access

## Libwww Forums

Libwww has the following set of mailing lists that you are more than welcome to use! Before you send mail to the lists, please check out the archives - they often contain good information about how to solve problems. Please do not send mail directly to the authors - the mail load is already rather high and you will most probably get a better response time by using one of the following mailing lists.

www-lib@w3.org
  A public mailing list for an open discussion of ideas, diffs, new features etc. This is the most active list. See the information on mailing lists for details on how to subscribe.
www-lib-bugs@w3.org
  A `public` mailing mailing list where you can register bugs and ideas that you would like to get into the code base. Register them here, so that we don't forget about them!
w3c-lib@w3.org
  A W3C member mailing list for announcements of new member releases etc. See the information on W3C member mailing lists for details on how to subscribe

## Authors and Contributors

These people and many more have been involved in turning libwww into the shape it has today.

Henrik Frystyk Nielsen
  Designed and Implemented libwww from version 2.17 up until version 5.1
Tim Berners-Lee and Jean-Francois Groff
  Came up with the initial design and implementation of libwww
Eric Prud'hommeaux
  Provided the Windows integration and asynchronous event management along with many other features.
Anselm Baird-Smith
  Provided lots of help through many white-board discussions, especially on the HTTP/1.1 client side implementation.
Jose Kahan
  Integrated libwww with Amaya and provided feedback on client side API
Håkon W. Lie
  Integrated libwww with Arena
and many others for contributions and bug fixes

Copyright © 1997 W3C (MIT, INRIA, Keio ), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements.