libwww (Library World Wide Web) は、Unix系およびWindows向けの高度にモジュール化されたクライアントサイドウェブAPIであり、そのAPIのリファレンス実装の名前でもある。

libwww
作者 ティム・バーナーズ=リー、ジャン=フランソワ・グロフ[1]
開発元 ヘンリク・F・ニールセン英語版
初版 1.0(1992年11月)[2]
最新版
5.4.1[3] / 2006年12月4日 (17年前) (2006-12-04)
リポジトリ ウィキデータを編集
プログラミング
言語
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/
テンプレートを表示

ウェブブラウザ/エディタインターネットボット、バッチツールなど各種アプリケーションに利用可能。完全なHTTP/1.1のキャッシング英語版パイプライニングPOSTDigest認証deflateなど、libwwwにはプラグイン可能なモジュールがある。

libwwwには、プロトコルに関する実験の叩き台としての役割と[5]車輪の再発明を防ぐ役割がある[6]

libcurlはlibwwwの後継とみなされている[7]

歴史

編集

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]

他に以下の機能を有する。

libwwwは各種プラグインをサポートしている[6]

libwww を利用しているアプリケーション

編集

19以上のアプリケーションがlibwwwを使用している(いた)[30]

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]

脚注

編集
  1. ^ WEB HISTORY DAY: PIONEERING SOFTWARE AND SITES”. The World Wide Web History Project. 2010年3月28日閲覧。
  2. ^ a b c d e Kahan, José (7 June 2002). “Change History of libwww”. World Wide Web Consortium. 2010年5月30日閲覧。
  3. ^ Bancroft, Vic (4 December 2006). “Changes with libwww 5.4.1”. World Wide Web Consortium. 2010年5月30日閲覧。
  4. ^ a b c d e W3C libwww libraries”. PhysioNet. Cambridge, MA: University of São Paulo (19 March 2008). 2010年5月30日閲覧。
  5. ^ a b libwww”. ROS. 2010年6月2日閲覧。
  6. ^ a b c d e Nielsen, Henrik Frystyk (14 may 1998). “W3C Reference Library”. World Wide Web Consortium. 2010年6月27日閲覧。
  7. ^ Moody, George B. (July, 14 2010). “WFDB Programmer's Guide: E. Sources”. 2010年8月4日閲覧。
  8. ^ 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. 
  9. ^ Berners-Lee, Tim (3 November 1992). “Common Library”. World Wide Web Consortium. 2010年6月3日閲覧。
  10. ^ How the web began”. CERN (2008年). 2010年7月25日閲覧。
  11. ^ Crémel, Nicole (5 April 2001). “A Little History of the World Wide Web”. CERN. 2010年6月2日閲覧。
  12. ^ Berners-Lee, Tim (May 1993). “May World-Wide Web News”. World Wide Web Consortium. 7 June 2010閲覧。
  13. ^ History of Libwww” (PDF). GoverningWithCode.org. p. 3. 2012年6月15日閲覧。
  14. ^ Berners-Lee, Tim. “Policy”. World Wide Web Consortium. 2010年9月1日閲覧。
  15. ^ a b Interview Robert Cailliau on the WWW Proposal: "How It Really Happened."”. Institute of Electrical and Electronics Engineers (November 1997). 2010年8月18日閲覧。
  16. ^ a b Kahan, José (2 September 2003). “Libwww - the W3C Protocol Library”. World Wide Web Consortium. 2010年6月2日閲覧。
  17. ^ Kreutzmann, Dr. Helge (6 January 2010). “WWW-Browsers for Linux”. 2010年6月3日閲覧。
  18. ^ Lie, Håkon Wium (15 June 1996). “Arena: Frequently Answered Questions”. World Wide Web Consortium. 2010年6月2日閲覧。
  19. ^ Welcome to Arena beta-3”. World Wide Web Consortium (16 September 1996). 2010年6月2日閲覧。
  20. ^ Kahan, José (2 September 2003). “Future of Libwww Survey”. World Wide Web Consortium. 2010年6月2日閲覧。
  21. ^ Nielsen, Henrik Frystyk (12 July 2000). “W3C Library Packages and Interfaces”. World Wide Web Consortium. 2010年7月27日閲覧。
  22. ^ W3C Sample Code Library libwww SSL Transport Wrapper”. World Wide Web Consortium (9 June 2000). 2010年6月28日閲覧。
  23. ^ W3C Sample Code Library libwww ZLib Streams”. World Wide Web Consortium (24 May 1998). 2010年6月28日閲覧。
  24. ^ Simple HTML Parser With Text Object Converter”. World Wide Web Consortium (6 January 1999). 2010年6月28日閲覧。
  25. ^ Declaration of W3C Sample Code HTML MODULE”. World Wide Web Consortium (22 February 1999). 2010年6月28日閲覧。
  26. ^ a b Declaration of W3C Sample Code XML/RDF Module”. World Wide Web Consortium (18 April 1999). 2010年6月28日閲覧。
  27. ^ SGML Parser”. World Wide Web Consortium (2 April 1999). 2010年6月28日閲覧。
  28. ^ Stylesheet Manager”. World Wide Web Consortium (6 January 1999). 2010年6月28日閲覧。
  29. ^ W3C Sample Code Library libwww SQL Interface”. World Wide Web Consortium (24 May 1998). 2010年6月28日閲覧。
  30. ^ Kahan, José (29 January 2004). “Results of the future of libwww survey”. World Wide Web Consortium. 2010年6月2日閲覧。
  31. ^ Secret, Arthur (12 November 1996). “Agora”. World Wide Web Consortium. 1996年6月6日時点のオリジナルよりアーカイブ。2010年6月20日閲覧。
  32. ^ a b Nielsen, Henrik Frystyk (7 June 2002). “Libwww Hackers”. World Wide Web Consortium. 2010年5月29日閲覧。
  33. ^ a b c d e Kahan, José (5 August 1999). “Why Libwww?”. 2010年6月15日閲覧。
  34. ^ Quint, Vincent (10 December 2009). “Amaya Release history”. World Wide Web Consortium. 2010年5月29日閲覧。
  35. ^ HTTP Request fields”. Protocols. World Wide Web Consortium (May 3, 1994). 2010年3月28日閲覧。
  36. ^ Nielsen, Henrik Frystyk (1 December 1998). “www-lib”. Yahoo! Groups. 2001年4月18日時点のオリジナルよりアーカイブ。2010年6月15日閲覧。
  37. ^ Kahan, José (5 August 1999). “Libwww - the W3C Sample Code Library”. World Wide Web Consortium. 2010年6月15日閲覧。
  38. ^ Gallagher, James (10 May 2002). “libwww replacement”. OPeNDAP. 2010年6月1日閲覧。
  39. ^ Gallagher, James (19 June 2002). “libwww v versus libcurl”. OPeNDAP. 2010年6月1日閲覧。
  40. ^ Paoli, Jean (11–14 December 1995). “Rules for extending a WWW client: The Symposia API”. World Wide Web Consortium. 2010年8月15日閲覧。
  41. ^ Luotonen, Ari. “Ari Luotonen”. World Wide Web Consortium. 15 August 2010閲覧。
  42. ^ Berners-Lee, Tim (3 November 1992). “Macintosh Browser”. World Wide Web Consortium. 2010年6月2日閲覧。
  43. ^ 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日閲覧。
  44. ^ Wang, Joseph (1 May 1993). “tkWWW Version 0.7 alpha”. 2010年11月16日閲覧。
  45. ^ WorldWideWeb Source Files”. World Wide Web Consortium. 2010年6月21日閲覧。
  46. ^ Readme”. evolt.org. 2010年7月5日閲覧。
  47. ^ Nielsen, Henrik Frystyk (4 May 1999). “WebCon - the Libwww Command Line Tool”. World Wide Web Consortium. 2010年6月27日閲覧。
  48. ^ Krol, Ed, The Whole Internet Catalog User's Guide & Catalog, O'Reilly & Associates, Inc., 1992, Third Printing, February 1993, p. 227.
  49. ^ Nielsen, Henrik Frystyk (4 May 1999). “Webbot - the Libwww Robot”. World Wide Web Consortium. 2010年6月27日閲覧。
  50. ^ Stenberg, Daniel (1 May 2010). “Notes About Libwww compared to libcurl”. Haxx. 2010年6月1日閲覧。
  51. ^ Smith, Timothy B. (11 September 2007). “Simple HTTP Client without 'libcurl' or 'libwww'”. μClinux. 2010年6月1日閲覧。

関連項目

編集

外部リンク

編集