libwww (Library World Wide Web) は、Unix系およびWindows向けの高度にモジュール化されたクライアントサイドウェブAPIであり、そのAPIのリファレンス実装の名前でもある。
ウェブブラウザ/エディタ、インターネットボット、バッチツールなど各種アプリケーションに利用可能。完全なHTTP/1.1の、パイプライニング、、Digest認証、deflateなど、libwwwにはプラグイン可能なモジュールがある。
libwwwには、プロトコルに関する実験の叩き台としての役割と、車輪の再発明を防ぐ役割がある。
libcurlはlibwwwの後継とみなされている。
歴史 1991年から1992年、ティム・バーナーズ=リーとCERNにいた学生ジャン=フランソワ・グロフは World Wide Web の可能性を示すため、オペレーティングシステムNeXTstep向けに書かれた最初のブラウザ WorldWideWeb の各種コンポーネントを移植性の高いC言語で書き直す作業を行った。当初libwwwは Common Library と呼ばれ、独立したソフトウェアとなってはいなかった。一般公開される前にlibwwwは CERN program library (CERNLIB) に組み込まれた。1992年7月、このライブラリはDECnetに移植された。1993年5月の World Wide Web Newsletter でバーナーズ=リーは、ウェブブラウザ開発を促進するため Common Library をlibwwwと改称し、パブリックドメインで提供すると発表した。当初パブリックドメインではなく GNU General Public License で公開するつもりだったが、GPLにするとIBMのような大企業が利用をためらう可能性があると考え断念した。急いで開発したため、ロバート・カイリューがこれをMacWWWに組み込もうとしたときに問題が生じた。
1994年11月25日 (version 2.17) からがlibwwwの責任者となった。1995年3月21日、version 3.0 のリリースと共に、CERNが完全に手を引き World Wide Web Consortium (W3C) がlibwwwの全責任を負うことになった。1995年以降、Line Mode Browser が独立してリリースされることはなくなり、libwwwのパッケージの一部となった。
W3Cは、HTML3/CSS/PNGといった標準やlibwwwの提供する機能の叩き台兼評価ツールとしてというウェブブラウザを開発し、beta 3 リリース後にAmayaで置換した。2003年9月2日、W3Cはリソース不足からlibwwwの開発を停止し、その後の開発はオープンソース・コミュニティに期待するとした。
機能と特徴 libwwwは、以下の通信プロトコルをサポートしている。 ローカルファイル(URIスキーム) FTP Gopher HTTP 1.1 (永続性キャッシュマネージャとパイプライニング) NNTP Telnet WAIS
他に以下の機能を有する。 OpenSSLを使うことでTLSとSSLを利用可能。 zlibを使うことでgzipの圧縮・解凍が可能。 HTML、 RDF、SGML、XMLの構文解析器とスタイルシートマネージャ SQLデータベース (MySQL) との連携(クローラなどで利用)
libwwwは各種プラグインをサポートしている。
libwww を利用しているアプリケーション 19以上のアプリケーションがlibwwwを使用している(いた)。
Agora Arena Amaya Cello CERN httpd サーバ Cygwin Distributed Oceanographic Data SystemsとOPeNDAP GRIF Symposia(HTMLエディタ) Lynx MacWWW Mosaic Robot Operating System TkWeb tkWWW WorldWideWeb(後の Nexus)
libwwwには次のアプリケーションが含まれている。 Command Line Tool - ウェブアクセス用の単純なバッチツール。libwwwの使い方を示すためのアプリケーション。 Line Mode BrowserKrol, Ed, The Whole Internet Catalog User's Guide & Catalog, O'Reilly & Associates, Inc., 1992, Third Printing, February 1993, p. 227. Webbot - libwwwを使ったボットの作り方を示すための単純なアプリケーション Mini Server - libwwwを使ったサーバまたはプロキシの作り方を示すための小さなアプリケーション
批判 libcurlの開発者らは、libwwwは移植性が低く、スレッドセーフではないし、HTTP認証方式のいくつかも実装していないと批判している。また、プロジェクトによってはlibcurlもlibwwwも重過ぎるという批判もある。
脚注
関連項目 cURL
外部リンク
libwww hackers The architecture of libwww Towards a Uniform Library of Common Code