ハイパフォーマンス ブラウザネットワーキング、読むべき本だった
Twitterで「なんかやばそうな本が出るぞ!!!」みたいな事を言っていたら、それが偶然拾われて、献本して頂く流れになりました。オライリーさん、ありがとうございます。
とりあえずざっと全体を流し読みした(と言っても3時間弱は読んだ)ので、書評っぽいことを書いておく。
読むべき人間
以下に該当する人間に対しては必読に値する本だと思う。
- HTTPを扱うアプリケーション*1のアーキテクチャを設計する人間
- Webサーバ等のHTTPに関連するインフラを担当する人間
- HTTP 2.0、WebSocket、Server-Sent Events、WebRTCのプロトコルについて日本語の文書が読みたい人間
普通に技術的な読み物としても面白い内容なので、Webの世界に近いエンジニアからネットワークを扱う組み込みエンジニアまで、軽く読んでおいて損はないと思う。ただし、読むにあたり最低限のネットワークの知識(OSI参照モデルとかそのあたり)は要求されるので、そのあたりの知識がない人間には読むのはつらいかなぁという感じがする。
個人的には、読書会をやると楽しそうな本だと思った。
内容について
とりあえず目次を。詳細な目次については オライリーのページを参照して欲しいのだが、この内容で380ページである。
I部 ネットワークの基礎
1章 レイテンシ・帯域幅入門
2章 TCPの構成要素
3章 UDPの構成要素
4章 TLSII部 ワイヤレスネットワークのパフォーマンス
5章 ワイヤレスネットワーク入門
6章 WiFi
7章 モバイルネットワーク
8章 モバイルネットワークの最適化III部 HTTP
9章 HTTPの歴史
10章 Webパフォーマンス入門
11章 HTTP 1.x
12章 HTTP 2.0
13章 アプリケーション配信最適化IV部 ブラウザAPIとプロトコル
14章 ブラウザネットワーク入門
15章 XMLHttpRequest
16章 Server-Sent Events
17章 WebSocket
18章 WebRTC
読む前は「えっ、こんなに広範なトピックを扱って、なんでこんな薄いの…?」と多少の心配はあった。しかし、実際に読んでみると「ネットワークのプロトコル及びパフォーマンスのみに話題を絞る」「チューニング方法については一般論のみ(具体的なチューニングツールの紹介はない)」という内容になっているため、非常にわかりやすく、かつシンプルにまとまったのだなぁと感じた。
全体の流れ
まず、冒頭で「スピードこそユーザエクスペリエンス!!」「Webのネットワークにおけるスピードとはレイテンシの改善である!!!(現在の数Mbps程度の回線速度が一般化している状況下において)」という旨の内容が書かれており、クーガーさんの事が思い出され本書の取り扱う問題点の明確化を行っている。その上で以下のような順序で解説が行われている。
まとめ
良書っぽいので買いましょう。
*1:Webブラウザ、デスクトップ、モバイル等、全て該当