GoTheDistance

ござ先輩と言われています。(株) クオリティスタートという会社をやっています。

【書評】Webを支える技術

@yoheiさんの力作、「Webを支える技術」を購入し読了したので、書評を書きたいと思います。

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

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

本書は、文字通り「WEBという世界を支えているものは、一体どういう技術・思想で構成されているのか?」ということに主眼を置かれて書かれています。実装技術の仕組みについての解説ではなく、Webをアーキテクチャとして捉えて、こういう設計になっているから今のWEBというものがある、その基礎的な仕様について網羅的に解説されています。ベーシックではなく、ファンダメンタル。各章で、要はこういうことを表現したいから、こういう技術や仕様が策定されているんだよ、ということをわかりやすく解説してくれています。

この辺の話は色々な仕様が入り混じっているため、RFCであったり複合的で抽象的な概念を理解していないとわからないことも多いと思います。なので、僕も感覚的に「こういう用途の場合は、GETを使う」「こういうURLはダサい」と認識していることが多かったのですが、本書で体系的に設計の思想を説明してくれているので、「あ、なるほど。そういうことか」と納得して読み薦めることができました。個人的にはHTTPメソッドやヘッダやステータスコードについて、棚卸が出来たのが良かったです。

WEBが今後拡張して行く中で、RESTという思想に基づいて様々なAPIを公開することになっていくだろう。しかし、APIを叩くのは人間よりもプログラムの方が多いわけですから(そうしないとスケールしないし)、キチンとプログラム(クライアント)がWEB上にあるリソースの状態を正しく理解できるように作らないとダメですよ、というのが本書の隠れたメッセージだと思います。

最後のWEBサービス設計の手順については本書の最も美味しいところだと思うので、お手にとってご覧頂けたら。

Webアプリケーションを構築するには「実装技術」と「HTTP(WEB)の仕様」の両方の知識が求められると思います。本書は後者についての入門書、ガイドブック的な存在です。WEBアプリのプログラミングを覚えて、WEBサービスやAPIを作って使ってもらいたいと思い始めたときに、この本があれば大きく道を踏み外すことは無い。

そんな一冊だと思います。