レビュー
概要
『Webを支える技術』は、Webサービス(Web APIを含む)を「なんとなく動くもの」ではなく、HTTP・URI・HTML(といった基礎仕様)と設計思想から組み立て直すための技術書です。テーマは“実践的なWebサービス設計”。フレームワークの使い方ではなく、WebがWebとして動く理由を理解し、その上で設計のベストプラクティスへ落とし込む構成になっています。
目次は5部構成で、第1部がWeb概論、第2部がURI、第3部がHTTP、第4部がハイパーメディアフォーマット、第5部がWebサービスの設計。学ぶ順番そのものが設計の足場になっていて、読み終える頃には「APIを作る前に考えること」が頭の中で整理されます。
読みどころ
1) 仕様を暗記させるのではなく、「なぜその形になったのか」を語る
本書はHTTPやURI、HTMLを“ルール集”として扱うだけでなく、歴史や設計思想も織り交ぜて説明していきます。これが意外と重要で、仕様の細部だけを追うと、設計で迷ったときに戻る場所がなくなるんですよね。
たとえばURI設計。単に「こう書く」ではなく、望ましいURIとは何か、という設計課題として扱うことで、サービスが育っていく途中での変更や拡張にも耐えやすくなります。
2) HTTPメソッドと役割分担を「設計の道具」に変える
HTTPメソッドの使い分け、クライアントとサーバの役割分担、設計プロセス。内容説明に挙がっているこれらは、現場でいちばん揉めやすいポイントでもあります。
“通信できる”だけなら何でもできます。でも、設計としてきれいに分けないと、後から仕様追加が入った瞬間に破綻する。HTTPを「運ぶだけのプロトコル」としてではなく、「設計の約束事」として扱う視点が、この本の芯です。
3) ハイパーメディアフォーマットの章が、Webらしさを取り戻してくれる
第4部が「ハイパーメディアフォーマット」になっているのが、この本らしいところです。Webは、リンク(ハイパーメディア)で状態遷移する仕組みを持っています。APIの話になるとJSONだけを見てしまいがちですが、HTMLを含む“表現”の設計が、サービスの使われ方を決める。
レビュー欄ではmicroformatsに触れている人もいて、仕様の紹介にとどまらず「表現に意味を乗せる」方向へ視野を広げてくれる章だと感じます。
4) 第5部で「REST」がようやく“手触り”になる
RESTは言葉だけが独り歩きしやすい概念ですが、本書では第1〜4部で足場を固めた上で、第5部でWebサービス設計として扱います。リソースをどう考えるか、URIやHTTPメソッドをどう当てはめるか、設計プロセスをどう回すか。ここまで来て、RESTがスローガンから設計の手順へ変わっていきます。
レビューでは、RESTの歴史的背景や普及した理由が分かった、という感想や、SOAPとの対比に納得した、という声もありました。単なる「流行の正解」ではなく、どうしてその設計が強いのかまで説明されるのが良いです。
5) “リソース志向”を、実装より先に頭に入れられる
本書は、リソースを中心に世界を切り出す考え方(リソース志向の設計)を、用語だけでなく設計手順として扱います。ここが、ありがたい。実装を急ぐと、つい「画面や機能」からAPIを作ってしまって、URIもパラメータも増殖しがちです。
レビューでは、例題が郵便番号検索で分かりやすい一方、REST APIにする利点がぼやけた、という指摘もありました。逆に言うと、題材が地味でも“設計の言葉”を練習できる、ということ。複雑なサービスへいきなり当てはめるのではなく、まずはシンプルな題材で設計の型を覚える、という読み方ができます。
古さではなく「基礎体力」をくれる本
刊行が2010年なので、現代のWeb開発の道具立て(クラウド、SPA、GraphQLなど)とは距離があります。でも、逆に言えば、道具が変わっても残る部分——HTTP/URI/HTMLという地盤と、その上で設計する考え方——を集中して学べる。
「APIを作れる」から「APIを設計できる」へ移るときに、基礎体力として効いてくるタイプの一冊です。
読み方のコツ(第2部URI⇄第3部HTTPを往復する)
読み進める中で迷ったら、第2部(URI)と第3部(HTTP)を行き来するのがおすすめです。URIは「何を指すか」、HTTPは「どう扱うか」。この2つが噛み合うと、設計が急に整理されます。第5部を読んで「結局RESTって何?」となったときも、足場として戻れる場所が明確になります。
こんな人におすすめ
- Web APIを作った経験はあるが、URI設計やメソッド設計でいつも迷う人
- RESTを“雰囲気”で使っていて、言語化できない不安がある人
- フレームワーク依存ではなく、HTTPやURIから理解を積み上げたい人
- 仕様と実務の間(設計プロセス)を埋めたい人
感想
この本を読んで良かったのは、Webサービス設計を「センス」や「慣れ」ではなく、仕様と思想の積み重ねとして扱ってくれるところでした。HTTPやURIに戻って考えるだけで、設計の議論が一気に具体的になる。逆に言うと、ここを飛ばすと議論が感想戦になりやすいんですよね。
“Webを支える技術”というタイトル通り、見えない土台を見える形にしてくれる本でした。今の開発環境にそのまま当てはめるというより、設計の判断で迷ったときに立ち返る座標軸として、長く手元に置けると思います。