ジュンク堂のWeb技術本トークセッションに行ってきた

最近は『たのしいRuby第3版』とか『Rubyベストプラクティス』とかいう大変素晴らしい本が出ているのでつい忘れがちですが、『Webを支える技術』という大変素晴らしい本が出ていたのでした。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

この本はレビューもさせていただいたんですが、上記の素晴らしい2冊の作業をするのと並行してのレビューだったので、はっきりいって片手間でしかできませんでした。すみません。が、トークセッションでは私がすごい黒幕として(編集者の方を介したりもしつつ)好き勝手に指示してたみたいで大変恐縮でした。すみません。

とかいう話はおいておいて、トークセッションの話。んー、全般的に聞き手の和田さんにはもっと突っ込んで欲しかったです。というか年代差なのでしょうか。RESTはさておき、Webに関する感度の違いがちょっと意外でした。ううむ。というか自分がツッコめよ、という話ですね。小心者ですみません。

うーん、なんだろう、例えばURI。なぜURI、というかURLはすごいのか。

Web技術本でも出てきたように、要するにURLって本来手続き的だった情報取得を宣言的に置き換えたものなわけです。ftpなんかとっても手続き的だったわけで。なんでそれが可能なのか。いや、可能なのは昔からわかってました。でも、それはすごい無駄を許容すれば、という条件付きのものだったんです。そしてその無駄が大きすぎると思われていたのでした。

インターネットのネットワークって、回線品質とかもばらばらだし、混雑度もぜんぜん違うわけで、それをぜんぶ毎回とってくる(キャッシュサーバがなければ)。しかもそれが、どうでもいいページを表示しただけで、とても巨大な画像ファイル(といっても数百Kだったわけですが)をいくつも取ってきたりする。しかも海外から、貴重な国際回線を使って。なんというか、どうでもいい世間話のために国際電話を(Skypeじゃなくて)してるような感覚です。ちょっとありえない。が、Webはそういう感覚で、まあいいじゃん、と割り切っていたのでした。

で、それがなぜ肯定的に評価されたのかと言うと、結局それ以外の、あらゆる超大規模分散ネットワークはひとつも実現できなかったからなわけです。「超大規模分散ネットワーク」というのはいい加減な用語ですが、ここでの定義は「ぜんぜん見たことも聞いたこともない世界中のひとびとが、空間時間を隔てて、勝手に相互参照したり情報を取り込んだりしあうコンテンツを作り、その相互参照が継続的に機能し続ける」としましょう。これって今のところWebしかできなかったんですよ。と言っていいと思います。他のプロトコルはみんな残念だったぽいです。正直わたしも詳しくないですけど。

一般的に、ネットワークというかアプリケーションは、仕様が複雑になればなるほど、すごい人というか、繊細な人しか使えないものになります。TCP/IPもたいがい馬鹿っぽいですけど、HTTPはもっと馬鹿っぽい。なんせファイル一個取ってくるのに毎回3wayハンドシェイクからやり直すんですよ。おんなじサーバにファイルが10個あっても10回コネクション貼り直すし(後にkeep-aliveとかが出てきましたが)、認証があれば毎回IDとパスワードに毛の生えたような情報を送りつけるし。その繊細さを微塵にも思わない馬鹿っぽいプロトコルだけが、人類に超大規模分散ネットワーク上のコンテンツを実現させたのでした。その叡智が、URLには込められているわけです。たぶん。

HTTPとHTMLについても書き出したらきりがないのでやめますが、まあお察し下さい。

本については、必ずしも不満がないわけではないです。例えばHTTPにしても、『Webプロトコル詳解』と比べると物足りない部分も正直あります。が、あれはHTTPだけで一冊の本で、いまどきの需要からすると、もっと突っ込んだ話、例えばHTTPベースのプロトコルの話とか、リソース設計とか、そういった部分がないと需要に応えられない、平たく言うと売れない、という事情もあるでしょう。なので、一概に悪いことではないです。おんなじような本が時代を隔てて何冊も出るよりは、新しい時代のために新しい視点から書かれる、というのはよいことです。また、物足りないといっても、例えば『今夜わかるHTTP』とか『3分間HTTP&メールプロトコル基礎講座』よりはもっと詳しく書かれています(その代わりこの2冊と比べると難しいかも。Web技術本はちょっと読むのが大変、という方はこの2冊から読むとよいかもです)。

今夜わかるHTTP (Network)

今夜わかるHTTP (Network)

3分間HTTP&メールプロトコル基礎講座

3分間HTTP&メールプロトコル基礎講座


そんなわけでトークセッションの話とはもう関係なくなっちゃった気もしますが、この本はそういう叡智が詰まった本なわけです。良かったら読んでみて下さい。


そうそう、それとは別に『渕一博―その人とコンピュータサイエンス』という大変素晴らしい本も出ているのですが、これについては改めて書きます。

渕一博―その人とコンピュータサイエンス

渕一博―その人とコンピュータサイエンス