2020/04/17

『Real World HTTP』が約三年ぶりに改訂されました

Real World HTTP 第2版――歴史とコードに学ぶインターネットとウェブ技術

2017年に渋川さんにご執筆いただいた本書を改訂しました。絶賛、発売準備中です。電子書籍は発売日にリリース予定、もちろんEPUBもPDFもあります。

改訂というのはそれなりに売れていないとできないことなので、初版を買っていただいた皆さんには感謝しかありません。ボリュームが100ページ以上増えていますが、お値段は200円アップで抑えています。お買い得ですよ奥さま。

内容についてはここに引用している「まえがき」に書かれている通り、初版の出版以降で変化した内容をアップデートして、さらに新しい章を追加しています。1つはウェブアプリケーションについて、もう1つはクラウド環境についてなのですが、いずれも「HTTPについて体系的に学ぶ」という観点で見たときに必要となる周辺知識なので、ぜひこの辺も注目してお読みいただけると嬉しいです。個人的にはクラウドの章に思い入れが強く、ウェブのコンテンツを配信するためには名前解決や各種のキャッシュやロードバランシングなど、古典的なクライアント/サーバーとは異なる複雑さをもっている訳ですが、そこで使われている技術について知ることができたのはとても勉強になりました。

歴史に学ぶ

さて、本書のサブタイトルには「歴史とコードに学ぶインターネットとウェブ技術」とあります。特に前半の「歴史」のほう、これは本書の方針でもあるのですが「HTTPとその周辺技術を、進化してきた過程と共に学ぶことで(体系的にみるとアンバランスな点を含め)、なぜそうなっているかを理解しやすくする」という意味があると理解しています。

僕のような50近いオッサンはもちろん著者の渋川さんもですが、まだ若いころにワールド・ワイド・ウェブが誕生して、その進化の過程をリアルタイムで体験してきた世代です。なので上記のような過程についてある程度の概要は知っています。そういう目線からすると、本書の記述は冗長であったり、トリビアルな内容の集積に見えるかもしれません。実際、上記に掲載した「まえがき」でも、渋川さんが書かれてらっしゃる通り「初版では『これはウェブに関するうんちく集ではないか』という感想が寄せられたり…」という事が起きています。

でも、初版、第2版と本書の編集を担当して痛感したことですが、この3年ほどでもウェブは驚くほど多くの、さまざまな点で変化しており、その細かな内容を網羅することは容易なことではありません。そのような時に、本書のような書籍がお役に立てると考えています。

脳内に「知識の地図」をつくる

情報技術に限らず何かを学ぶ際には、以下の2つの操作を繰り返し行き来する必要があります。

  • 全体を俯瞰する
  • 細部について理解する

例えばオムレツとはどのような食べ物か(俯瞰)、材料は何でできているのか(細部)、作り方の手順は(細部)、フライパンはどのように扱うのか(細部)という具合です。

僕らは意識的であるか否かにかかわらず、このように問題のスコープを大小させながら知識や技術を習得しています。たとえ完全に記憶していなかったとしても、全体の構造や特定のトピックについての用語や概念が存在することを知っていれば、そこから目の前の問題について推測したり、必要な情報にアクセスする手段を得られるでしょう。それは世界を探検する際に必要な地図を作るのに似ています。

ウェブの場合、対象とする領域はあまりに広く、恐らく全体をくまなく網羅した書籍を作成するとしたら、現在の数倍、あるいは数十倍のボリュームになるでしょう。本書の索引には本文中で紹介されているRFCをまとめているのですが、その数はおよそ100に達します。本書で扱っているのはRFCだけでなく、W3CやWHATWGなどの標準化団体が策定する仕様も含みます。何の予備知識もなく、それら膨大な資料の中に放り出されたとき、それらを読み込んで取捨選択し、必要な知識を一つの体系として構成するのは容易な作業ではありません。

ある種の書籍には、そのような時の道しるべとしての機能があります。膨大な情報のエッセンスを抽出し、ある原理に基づいて体系付けて整理して読者に提示します。読者は著者のたどった知識の道筋を同じようにたどって、陥りやすい勘違いや見落としがちなポイントを避けつつ、書籍として期待する知識を得られるよう意図されています。

本書がウェブ技術のすべてを網羅しているとは言いませんが、ある程度のーー少なくとも基本的な知識を得て、それを元に個々の技術について深く掘り下げられるようなーー知識を得られるものになっていると信じています。必要になった時には、RFCや参考書籍など必要な一次資料を参照できるようなポインタも、できる限り掲載しています。

本書をお読みいただいて、頭の中にウェブ技術に関する地図(インデックスと言い換えてもいいでしょう)を作成し、何かしら問題に直面した際に、解決の糸口を発見する助けとしていただければ、編集担当者としては嬉しい限りです。

そしてその際にはぜひ「これ『Real World HTTP』でみたやつだ!」とご唱和いただけるなら、この上ない喜びです。

追記:渋川さんが「フューチャー開発者ブログ」に本書の読みどころなどを解説された記事を執筆しておられます。こちらもぜひご覧ください。