Libwww
作者 | ティム・バーナーズ=リー、ジャン=フランソワ・グロフ[1] |
---|---|
開発元 | ヘンリク・F・ニールセン(英語版) |
初版 | 1.0(1992年11月)[2] |
最新版 | |
リポジトリ |
![]() |
プログラミング 言語 | C |
対応OS | FreeBSD[4], Solaris[4], Linux[4], Mac OS X[4], Microsoft Windows[4] |
サポート状況 | 不活発 |
種別 | インターネットアプリケーション用API |
ライセンス | W3C Software Notice and License |
公式サイト | www.w3.org/Library/ |
テンプレートを表示 |
libwww (Library World Wide Web) は、Unix系およびWindows向けの高度にモジュール化されたクライアントサイドウェブAPIであり、そのAPIのリファレンス実装の名前でもある。
ウェブブラウザ/エディタ、インターネットボット、バッチツールなど各種アプリケーションに利用可能。完全なHTTP/1.1のキャッシング(英語版)、パイプライニング、POST、Digest認証、deflateなど、libwwwにはプラグイン可能なモジュールがある。
libwwwには、プロトコルに関する実験の叩き台としての役割と[5]、車輪の再発明を防ぐ役割がある[6]。
歴史
1991年から1992年、ティム・バーナーズ=リーとCERNにいた学生ジャン=フランソワ・グロフは World Wide Web の可能性を示すため、オペレーティングシステムNeXTstep向けに書かれた最初のブラウザ WorldWideWeb の各種コンポーネントを移植性の高いC言語で書き直す作業を行った[8]。当初libwwwは Common Library と呼ばれ、独立したソフトウェアとなってはいなかった[9]。一般公開される前にlibwwwは CERN program library (CERNLIB) に組み込まれた[10]。1992年7月、このライブラリはDECnetに移植された[11]。1993年5月の World Wide Web Newsletter でバーナーズ=リーは、ウェブブラウザ開発を促進するため Common Library をlibwwwと改称し、パブリックドメインで提供すると発表した[12]。当初パブリックドメインではなく GNU General Public License で公開するつもりだったが、GPLにするとIBMのような大企業が利用をためらう可能性があると考え断念した[13][14]。急いで開発したため、ロバート・カイリューがこれをMacWWWに組み込もうとしたときに問題が生じた[15]。
1994年11月25日 (version 2.17) からヘンリク・F・ニールセン(英語版)がlibwwwの責任者となった[16]。1995年3月21日、version 3.0 のリリースと共に、CERNが完全に手を引き World Wide Web Consortium (W3C) がlibwwwの全責任を負うことになった[2]。1995年以降、Line Mode Browser が独立してリリースされることはなくなり、libwwwのパッケージの一部となった[17]。
W3Cは、HTML3/CSS/PNGといった標準やlibwwwの提供する機能の叩き台兼評価ツールとしてArena(英語版)というウェブブラウザを開発し[18]、beta 3 リリース後にAmayaで置換した[19]。2003年9月2日、W3Cはリソース不足からlibwwwの開発を停止し、その後の開発はオープンソース・コミュニティに期待するとした[16][20]。
機能と特徴
libwwwは、以下の通信プロトコルをサポートしている[21]。
他に以下の機能を有する。
- OpenSSLを使うことでTLSとSSLを利用可能。[22]
- zlibを使うことでgzipの圧縮・解凍が可能。[23]
- HTML[24][25]、 RDF[26]、SGML[27]、XML[26]の構文解析器とスタイルシートマネージャ[28]
- SQLデータベース (MySQL) との連携(クローラなどで利用)[29]
libwww を利用しているアプリケーション
19以上のアプリケーションがlibwwwを使用している(いた)[30]。
- Agora[31]
- Arena[32][33]
- Amaya[32][33][34]
- Cello[35]
- CERN httpd サーバ[33]
- Cygwin[36][37]
- Distributed Oceanographic Data SystemsとOPeNDAP[38][39]
- GRIF Symposia(HTMLエディタ)[40][41]
- Lynx[2][33]
- MacWWW[42]
- Mosaic[2][15][33]
- Robot Operating System[5]
- TkWeb[43]
- tkWWW[44]
- WorldWideWeb(後の Nexus)[45][46]
libwwwには次のアプリケーションが含まれている。
- Command Line Tool - ウェブアクセス用の単純なバッチツール。libwwwの使い方を示すためのアプリケーション。[6][47]
- Line Mode Browser[48]
- Webbot - libwwwを使ったボットの作り方を示すための単純なアプリケーション[6][49]
- Mini Server - libwwwを使ったサーバまたはプロキシの作り方を示すための小さなアプリケーション[6]
批判
libcurlの開発者らは、libwwwは移植性が低く、スレッドセーフではないし、HTTP認証方式のいくつかも実装していないと批判している[50]。また、プロジェクトによってはlibcurlもlibwwwも重過ぎるという批判もある[51]。
脚注
- ^ “WEB HISTORY DAY: PIONEERING SOFTWARE AND SITES”. The World Wide Web History Project. 2010年3月28日閲覧。
- ^ a b c d e Kahan, José (2002年6月7日). “Change History of libwww”. World Wide Web Consortium. 2010年5月30日閲覧。
- ^ Bancroft, Vic (2006年12月4日). “Changes with libwww 5.4.1”. World Wide Web Consortium. 2010年5月30日閲覧。
- ^ a b c d e “W3C libwww libraries”. PhysioNet. Cambridge, MA: University of São Paulo (2008年3月19日). 2010年5月30日閲覧。
- ^ a b “libwww”. ROS. 2010年6月2日閲覧。
- ^ a b c d e Nielsen, Henrik Frystyk (1998年5月14日). “W3C Reference Library”. World Wide Web Consortium. 2010年6月27日閲覧。
- ^ Moody, George B. (July, 14 2010). “WFDB Programmer's Guide: E. Sources”. 2010年8月4日閲覧。
- ^ Kesan, Jay; Rajiv Shah (2003). “Deconstructing Code”. Yale Journal of Law & Technology 6: p. 291. http://papers.ssrn.com/sol3/papers.cfm?abstract_id=597543.
- ^ Berners-Lee, Tim (1992年11月3日). “Common Library”. World Wide Web Consortium. 2010年6月3日閲覧。
- ^ “How the web began”. CERN (2008年). 2010年7月25日閲覧。
- ^ Crémel, Nicole (2001年4月5日). “A Little History of the World Wide Web”. CERN. 2010年6月2日閲覧。
- ^ Berners-Lee, Tim (1993年5月). “May World-Wide Web News”. World Wide Web Consortium. 2010年6月7日閲覧。
- ^ “History of Libwww” (PDF). GoverningWithCode.org. p. 3. 2012年6月15日閲覧。
- ^ Berners-Lee, Tim. “Policy”. World Wide Web Consortium. 2010年9月1日閲覧。
- ^ a b “Interview Robert Cailliau on the WWW Proposal: "How It Really Happened."”. Institute of Electrical and Electronics Engineers (1997年11月). 2010年8月18日閲覧。
- ^ a b Kahan, José (2003年9月2日). “Libwww - the W3C Protocol Library”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ Kreutzmann, Dr. Helge (2010年1月6日). “WWW-Browsers for Linux”. 2010年6月3日閲覧。
- ^ Lie, Håkon Wium (1996年6月15日). “Arena: Frequently Answered Questions”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ “Welcome to Arena beta-3”. World Wide Web Consortium (1996年9月16日). 2010年6月2日閲覧。
- ^ Kahan, José (2003年9月2日). “Future of Libwww Survey”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ Nielsen, Henrik Frystyk (2000年7月12日). “W3C Library Packages and Interfaces”. World Wide Web Consortium. 2010年7月27日閲覧。
- ^ “W3C Sample Code Library libwww SSL Transport Wrapper”. World Wide Web Consortium (2000年6月9日). 2010年6月28日閲覧。
- ^ “W3C Sample Code Library libwww ZLib Streams”. World Wide Web Consortium (1998年5月24日). 2010年6月28日閲覧。
- ^ “Simple HTML Parser With Text Object Converter”. World Wide Web Consortium (1999年1月6日). 2010年6月28日閲覧。
- ^ “Declaration of W3C Sample Code HTML MODULE”. World Wide Web Consortium (1999年2月22日). 2010年6月28日閲覧。
- ^ a b “Declaration of W3C Sample Code XML/RDF Module”. World Wide Web Consortium (1999年4月18日). 2010年6月28日閲覧。
- ^ “SGML Parser”. World Wide Web Consortium (1999年4月2日). 2010年6月28日閲覧。
- ^ “Stylesheet Manager”. World Wide Web Consortium (1999年1月6日). 2010年6月28日閲覧。
- ^ “W3C Sample Code Library libwww SQL Interface”. World Wide Web Consortium (1998年5月24日). 2010年6月28日閲覧。
- ^ Kahan, José (2004年1月29日). “Results of the future of libwww survey”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ Secret, Arthur (1996年11月12日). “Agora”. World Wide Web Consortium. 1996年6月6日時点のオリジナルよりアーカイブ。2010年6月20日閲覧。
- ^ a b Nielsen, Henrik Frystyk (2002年6月7日). “Libwww Hackers”. World Wide Web Consortium. 2010年5月29日閲覧。
- ^ a b c d e Kahan, José (1999年8月5日). “Why Libwww?”. 2010年6月15日閲覧。
- ^ Quint, Vincent (2009年12月10日). “Amaya Release history”. World Wide Web Consortium. 2010年5月29日閲覧。
- ^ “HTTP Request fields”. Protocols. World Wide Web Consortium (1994年5月3日). 2010年3月28日閲覧。
- ^ Nielsen, Henrik Frystyk (1998年12月1日). “www-lib”. Yahoo! Groups. 2001年4月18日時点のオリジナルよりアーカイブ。2010年6月15日閲覧。
- ^ Kahan, José (1999年8月5日). “Libwww - the W3C Sample Code Library”. World Wide Web Consortium. 2010年6月15日閲覧。
- ^ Gallagher, James (2002年5月10日). “libwww replacement”. OPeNDAP. 2010年6月1日閲覧。
- ^ Gallagher, James (2002年6月19日). “libwww v versus libcurl”. OPeNDAP. 2010年6月1日閲覧。
- ^ Paoli, Jean (11–14 December 1995). “Rules for extending a WWW client: The Symposia API”. World Wide Web Consortium. 2010年8月15日閲覧。
- ^ Luotonen, Ari. “Ari Luotonen”. World Wide Web Consortium. 2010年8月15日閲覧。
- ^ Berners-Lee, Tim (1992年11月3日). “Macintosh Browser”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ Ball, Steve (10–13 July 1996). “SurfIt! - A WWW Browser” (PostScript). Proceedings of the Fourth USENIX Tcl/Tk Workshop. Monterey, CA: USENIX. 2010年11月28日閲覧。
- ^ Wang, Joseph (1993年5月1日). “tkWWW Version 0.7 alpha”. 2010年11月16日閲覧。
- ^ “WorldWideWeb Source Files”. World Wide Web Consortium. 2010年6月21日閲覧。
- ^ “Readme”. evolt.org. 2010年7月5日閲覧。
- ^ Nielsen, Henrik Frystyk (1999年5月4日). “WebCon - the Libwww Command Line Tool”. World Wide Web Consortium. 2010年6月27日閲覧。
- ^ Krol, Ed, The Whole Internet Catalog User's Guide & Catalog, O'Reilly & Associates, Inc., 1992, Third Printing, February 1993, p. 227.
- ^ Nielsen, Henrik Frystyk (1999年5月4日). “Webbot - the Libwww Robot”. World Wide Web Consortium. 2010年6月27日閲覧。
- ^ Stenberg, Daniel (2010年5月1日). “Notes About Libwww compared to libcurl”. Haxx. 2010年6月1日閲覧。
- ^ Smith, Timothy B. (2007年9月11日). “Simple HTTP Client without 'libcurl' or 'libwww'”. μClinux. 2010年6月1日閲覧。
関連項目
外部リンク
- 公式ウェブサイト
- libwww hackers
- The architecture of libwww
- Towards a Uniform Library of Common Code
| |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
デスクトップ |
| ||||||||||||||||||||||||
モバイル |
| ||||||||||||||||||||||||
テレビ · ゲーム機 |
| ||||||||||||||||||||||||
|
| |||||
---|---|---|---|---|---|
現行クライアント |
| ||||
過去クライアント |
| ||||
過去に対応 | |||||
サーバーソフトウェア |
| ||||
人物 |
| ||||
関連項目 |
|
W3C標準 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
製品・標準 |
| ||||||||||||||
団体 |
| ||||||||||||||
ソフトウェア |
| ||||||||||||||
関連会議 |
| ||||||||||||||
![]() |