Web を支える技術

ウェブ オ ササエル ギジュツ

HTTP、URI、HTML、そして REST

Web を支える技術の表紙
インターネット / WEB デザイン
著者:
山本陽平(ヤマモト, ヨウヘイ)
価格:
¥2,827
出版社:
技術評論社
出版日:
2010年05月
ISBN:
9784774142043
シリーズ:
WEB+DB press plus シリーズ
在庫:
1
判型:
単行本
3.95(95 件 / 楽天ブックス)
中級者向け
IT・e コマースHTMLインターネット・WEB デザインHTTPURIWeb サービス設計ベストプラクティスクライアントサーバアーキテクチャWeb 開発ソフトウェア設計インターネット技術

なぜ注目されているか

総合161位 ✦ NEW 言及 74 件・うち記事 58 件を掲載
04720222023202420252026

書籍紹介

本書のテーマは Web サービスの実践的な設計。まず良い Web サービス設計の第一歩として、HTTP や URI、HTML などの仕様を歴史や設計思想を織り交ぜて解説。そして Web サービスにおける設計課題、たとえば望ましい URI、HTTP メソッドの使い分け、クライアントとサーバの役割分担、設計プロセスなどについて、現時点でのベストプラクティスを紹介。

技書の森解説

Web サービスや Web API を作っていると、URI をどう切るか、POST と PUT のどちらを使うか、エラーにどのステータスコードを返すかで手が止まる場面があります。『Web を支える技術 HTTP、URI、HTML、そして REST』 (山本陽平 著、技術評論社、2010 年 4 月刊、WEB+DB PRESS plus シリーズ、A5 判) は、こうした判断の根拠を HTTP / URI / HTML の仕様そのものと、その歴史や設計思想から説き起こす技術書です。版元は本書のテーマを Web サービスの実践的な設計と位置づけ、対象として Web サービス (Web アプリケーション / Web API) の設計 / 開発に携わる方、Web のしくみや動作原理を知りたい方、URI の仕様や、良い URI について知りたい方、HTTP メソッド、ヘッダ、ステータスコードの仕様や使い方を学びたい方、REST について学びたい方を挙げています。著者は刊行時点の版元プロフィールによれば 1975 年生まれで、株式会社リコーグループ技術開発本部にて Web に関連した研究開発に従事し、個人のブログで Web や XML に関連する記事を書いていた人物です。

全 5 部 17 章の構成、Web 概論から郵便番号検索サービスの設計まで

構成は全 5 部 17 章と付録 3 本です。第 1 部 Web 概論 (第 1〜3 章) は、Web とは何かから始めて、Web 以前のハイパーメディアと分散システムの歴史、SOAP 対 REST の議論を経て、第 3 章で REST を Web のアーキテクチャスタイルとして解説します。ここでは、クライアント / サーバ、ステートレスサーバ、キャッシュ、統一インタフェース、階層化システム、コードオンデマンドというスタイルを組み合わせて REST を構成する、という見方が示されます。第 2 部 URI (第 4〜5 章) は URI の構文や % エンコーディングといった仕様と、「クールな URI は変わらない」を掲げる URI の設計です。第 3 部 HTTP (第 6〜9 章) は TCP/IP の階層から入って HTTP のステートレス性、「8 つしかないメソッド」とべき等性 / 安全性、ステータスコード、認証やキャッシュやコンテントネゴシエーションを担う HTTP ヘッダまでを扱います。第 4 部 ハイパーメディアフォーマット (第 10〜14 章) は HTML、microformats、Atom、Atom Publishing Protocol、JSON の各章です。第 5 部 Web サービスの設計 (第 15〜17 章) は郵便番号検索サービスを例に、読み取り専用の設計、書き込み可能な設計 (バッチ処理 / トランザクション / 排他制御を含む)、そして関係モデル / オブジェクト指向モデル / 情報アーキテクチャからリソースを導出する設計へ進みます。付録は A ステータスコード一覧、B HTTP ヘッダ一覧、C 解説付き参考文献です。

REST を「なぜそうなっているか」から理解する技術背景

版元の概要は、Web がここまで成功した秘密はその設計思想、いわゆるアーキテクチャにある、と述べ、刊行時点で Web が誕生から 20 年で 17 億人のユーザと 2 億台のサーバを抱える巨大システムへ成長したことを挙げています。技術的に言えば、URI がリソースに名前を付け、少数の HTTP メソッドが統一インタフェースとして働き、サーバが ステートレス に各リクエストを独立して処理し、その間に HTTP キャッシュ が挟まれる、という制約の組み合わせが REST であり、Web が中央の調整役なしに拡大できた理由でもあります。Web アプリケーションフレームワークはこの層をうまく隠してくれるため、開発者は POST に何でも載せる、更新なのに GET を使う、失敗しても 200 を返す、といった誤用に気づきにくくなります。本書が第 7 章で べき等性 と安全性に節を割き、第 8 章でステータスコードの分類と誤用を扱うのは、この隠れた層を可視化するためで、リトライしてよい操作の判断やクライアント側のエラー処理の設計は、まさにこの理解の上に成り立ちます。

2010 年刊の仕様を読む前提知識と注意点

前提知識としては、HTML を書いたことがあり、何らかの Web アプリケーションを一度は作った経験があると、設計の章の問題意識を共有しやすくなります。一方で第 6 章は TCP/IP の階層型プロトコルから説明を始めるため、版元が対象に含める「Web のしくみや動作原理を知りたい方」も追える作りです。注意点は刊行時期です。2010 年 4 月刊のため、目次で扱う HTTP のバージョンは HTTP 0.9 / 1.0 / 1.1 と「その後の HTTP」までで、認証は Basic 認証 / Digest 認証 / WSSE 認証、ハイパーメディアフォーマットは HTML / microformats / Atom / AtomPub / JSON です。刊行後に策定された仕様やフォーマットは含まれないので、本書は刊行時点の仕様と設計思想を学ぶ本として読み、個別の仕様の変化は各仕様の一次資料で追う使い方になります。版元サイトでは 2014 年 12 月発売の電子版も案内されています。

向いているのは、フレームワークの規約に従って動くものは作れるが、URI やメソッドの選び方を人に説明できない人、REST という言葉を曖昧に使っている自覚がある人、そして Web API の設計を任された人です。逆に、特定のフレームワークの手順書や、刊行後に登場した仕様の詳細を求める人には別の資料が必要です。

Web API の URI / メソッド / ステータスコードを決める立場にいる人なら、設計会議での判断に根拠を持てるようになる点で投じた時間は早く回収でき、付録のステータスコード一覧と HTTP ヘッダ一覧は日常の参照資料としても働きます。Web がなぜこの形をしているのかを一度きちんと理解しておきたい人にとって、本書は出発点として堅実な選択です。

言及した記事 (58 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: