Libwww

libwww (Library World Wide Web) は、Unix系およびWindows環境で動作する、高度にモジュール化されたクライアントサイドのウェブAPIであり、そのAPIのリファレンス実装としても知られています。このライブラリは、ウェブブラウザ、エディタ、インターネットボット、バッチツールなど、多種多様なアプリケーションに利用されてきました。

libwwwの機能と特徴



libwwwは、HTTP/1.1の完全なサポート(キャッシング、パイプライン処理、POST、Digest認証、deflate圧縮など)に加え、プラグインによる機能拡張が可能です。これにより、様々なプロトコルやデータ形式に対応できます。

主な機能は以下の通りです。

  • - 対応プロトコル: ローカルファイル、FTP、Gopher、HTTP 1.1(永続的キャッシュとパイプライン処理)、NNTP、Telnet、WAIS
  • - その他の機能:
- OpenSSLによるTLS/SSLサポート
- zlibによるgzip圧縮・解凍
- HTML、RDF、SGML、XMLの構文解析
- SQLデータベース(MySQL)連携
- プラグインによる機能拡張

歴史



1991年から1992年にかけて、ティム・バーナーズ=リーとCERNの学生ジャン=フランソワ・グロフは、World Wide Webの可能性を示すため、最初のブラウザであるWorldWideWeb(NeXTstep向け)のコンポーネントをC言語で書き直しました。当初、このライブラリは「Common Library」と呼ばれ、独立したソフトウェアではありませんでした。その後、CERN program library (CERNLIB)に組み込まれ、1992年7月にはDECnetに移植されました。

1993年5月、バーナーズ=リーはウェブブラウザ開発を促進するため、「Common Library」を「libwww」と改名し、パブリックドメインで公開すると発表しました。当初はGNU General Public Licenseでの公開を検討していましたが、大企業での利用を考慮し、パブリックドメインでの公開となりました。開発が急ピッチで行われたため、ロバート・カイリューがMacWWWに組み込もうとした際に問題が発生しました。

1994年11月25日、バージョン2.17からヘンリク・F・ニールセンがlibwwwの責任者となり、1995年3月21日、バージョン3.0のリリースとともに、CERNがlibwwwの責任をWorld Wide Web Consortium (W3C)に移譲しました。1995年以降、Line Mode Browserはlibwwwのパッケージの一部として提供されるようになりました。

W3Cは、HTML3/CSS/PNGなどの標準やlibwwwの機能の評価・実験ツールとして、ウェブブラウザ「Arena」を開発しました。その後、「Arena」は「Amaya」に置き換えられました。2003年9月2日、W3Cはリソース不足を理由に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: ウェブアクセス用のバッチツール
  • - Line Mode Browser
  • - Webbot: libwwwを使用したボットのサンプル
  • - Mini Server: libwwwを使用したサーバ/プロキシのサンプル

批判



libcurlの開発者からは、libwwwは移植性が低く、スレッドセーフではない、いくつかのHTTP認証方式を実装していないという批判がありました。また、libcurlと同様に、libwwwもプロジェクトによっては重すぎるという指摘もあります。

libwwwの役割



libwwwは、ウェブ技術の初期段階において、プロトコルに関する実験のプラットフォームとしての役割を果たし、同時に、車輪の再発明を防ぐための共通ライブラリとしての役割も果たしました。その後のウェブ技術の発展に大きく貢献しました。

後継ライブラリ



libwwwは、後にlibcurlというより高機能なライブラリに置き換えられました。現在では、libcurlがウェブクライアントライブラリの標準として広く利用されています。

このライブラリは、ウェブ技術の黎明期を支えた重要な遺産であり、その歴史的意義は非常に大きいと言えるでしょう。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。