libwww
作者 | ティム・バーナーズ=リー、ジャン=フランソワ・グロフ[1] |
---|---|
開発元 | ヘンリク・F・ニールセン |
初版 | 1.0(1992年11月)[2] |
最新版 |
5.4.1[3]
/ 2006年12月4日 |
リポジトリ | |
プログラミング 言語 | 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é (7 June 2002). “Change History of libwww”. World Wide Web Consortium. 2010年5月30日閲覧。
- ^ Bancroft, Vic (4 December 2006). “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 (19 March 2008). 2010年5月30日閲覧。
- ^ a b “libwww”. ROS. 2010年6月2日閲覧。
- ^ a b c d e Nielsen, Henrik Frystyk (14 may 1998). “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 .
- ^ Berners-Lee, Tim (3 November 1992). “Common Library”. World Wide Web Consortium. 2010年6月3日閲覧。
- ^ “How the web began”. CERN (2008年). 2010年7月25日閲覧。
- ^ Crémel, Nicole (5 April 2001). “A Little History of the World Wide Web”. CERN. 2010年6月2日閲覧。
- ^ Berners-Lee, Tim (May 1993). “May World-Wide Web News”. World Wide Web Consortium. 7 June 2010閲覧。
- ^ “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 (November 1997). 2010年8月18日閲覧。
- ^ a b Kahan, José (2 September 2003). “Libwww - the W3C Protocol Library”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ Kreutzmann, Dr. Helge (6 January 2010). “WWW-Browsers for Linux”. 2010年6月3日閲覧。
- ^ Lie, Håkon Wium (15 June 1996). “Arena: Frequently Answered Questions”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ “Welcome to Arena beta-3”. World Wide Web Consortium (16 September 1996). 2010年6月2日閲覧。
- ^ Kahan, José (2 September 2003). “Future of Libwww Survey”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ Nielsen, Henrik Frystyk (12 July 2000). “W3C Library Packages and Interfaces”. World Wide Web Consortium. 2010年7月27日閲覧。
- ^ “W3C Sample Code Library libwww SSL Transport Wrapper”. World Wide Web Consortium (9 June 2000). 2010年6月28日閲覧。
- ^ “W3C Sample Code Library libwww ZLib Streams”. World Wide Web Consortium (24 May 1998). 2010年6月28日閲覧。
- ^ “Simple HTML Parser With Text Object Converter”. World Wide Web Consortium (6 January 1999). 2010年6月28日閲覧。
- ^ “Declaration of W3C Sample Code HTML MODULE”. World Wide Web Consortium (22 February 1999). 2010年6月28日閲覧。
- ^ a b “Declaration of W3C Sample Code XML/RDF Module”. World Wide Web Consortium (18 April 1999). 2010年6月28日閲覧。
- ^ “SGML Parser”. World Wide Web Consortium (2 April 1999). 2010年6月28日閲覧。
- ^ “Stylesheet Manager”. World Wide Web Consortium (6 January 1999). 2010年6月28日閲覧。
- ^ “W3C Sample Code Library libwww SQL Interface”. World Wide Web Consortium (24 May 1998). 2010年6月28日閲覧。
- ^ Kahan, José (29 January 2004). “Results of the future of libwww survey”. World Wide Web Consortium. 2010年6月2日閲覧。
- ^ Secret, Arthur (12 November 1996). “Agora”. World Wide Web Consortium. 1996年6月6日時点のオリジナルよりアーカイブ。2010年6月20日閲覧。
- ^ a b Nielsen, Henrik Frystyk (7 June 2002). “Libwww Hackers”. World Wide Web Consortium. 2010年5月29日閲覧。
- ^ a b c d e Kahan, José (5 August 1999). “Why Libwww?”. 2010年6月15日閲覧。
- ^ Quint, Vincent (10 December 2009). “Amaya Release history”. World Wide Web Consortium. 2010年5月29日閲覧。
- ^ “HTTP Request fields”. Protocols. World Wide Web Consortium (May 3, 1994). 2010年3月28日閲覧。
- ^ Nielsen, Henrik Frystyk (1 December 1998). “www-lib”. Yahoo! Groups. 2001年4月18日時点のオリジナルよりアーカイブ。2010年6月15日閲覧。
- ^ Kahan, José (5 August 1999). “Libwww - the W3C Sample Code Library”. World Wide Web Consortium. 2010年6月15日閲覧。
- ^ Gallagher, James (10 May 2002). “libwww replacement”. OPeNDAP. 2010年6月1日閲覧。
- ^ Gallagher, James (19 June 2002). “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. 15 August 2010閲覧。
- ^ Berners-Lee, Tim (3 November 1992). “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 (1 May 1993). “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 (4 May 1999). “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 (4 May 1999). “Webbot - the Libwww Robot”. World Wide Web Consortium. 2010年6月27日閲覧。
- ^ Stenberg, Daniel (1 May 2010). “Notes About Libwww compared to libcurl”. Haxx. 2010年6月1日閲覧。
- ^ Smith, Timothy B. (11 September 2007). “Simple HTTP Client without 'libcurl' or 'libwww'”. μClinux. 2010年6月1日閲覧。