- ダウンロード商品¥ 1,500
技術書典6で頒布した同人誌です。 関連記事: https://woshidan.hatenablog.com/entry/2019/05/25/192707 データ配信の高速化のアプローチ別にHTTPの仕様とその関連技術をからめてご紹介。各章後ろの方が新しい要素となっていて、3~5章のラスボスがHTTP/2。 という感じの本です。 (見本ページの図版はモノクロですが電子版の図版はカラーです。そこまで変わりはありませんが。)
もう少し詳しい内容紹介
WebサーバとWebクライアントのやりとりを規定するHTTPには多くの仕様があり、HTTP/1.1を紙に印刷すると176ページ近くになるそうです。 その中にはさまざまなものがありますが、本書ではこのうちHTTP/1.1のキープアライブやHTTP/2のストリームをはじめ、効率的にネットワーク通信を行うために制定された仕様をとりあげます。しかし、HTTPだけでWebページがスムーズにダウンロードされるようになるわけではありません。 かつて利用されたCSSスプライトといった開発者コミュニティ内で生まれた工夫であったり、TLSのセッション再開など他のプロトコルの改善、ユーザの近くからコンテンツを配信するCDNの登場など、HTTPを使った効率的なデータ配信にはHTTP以外にも多くのことが関わっています。 そこで、HTTPの仕様を説明するにあたって、HTTPの仕様と関連する要素をデータ配信を効率化するアプローチごとにまとめたものが本書です。 HTTPと関連する他の要素を、その要素や年代別ではなく「データの配信元をユーザの近くにする」「同じ情報をより小さいデータサイズで送る」などのアプローチごとに古いもの、単純なものから新しいものに並べて論じることでそれぞれの仕様が出てきた背景を実感しやすくしています。 扱っているテーマは - 1章 ユーザの近くにファイルを配置する - 2章 TCP, TLSのハンドシェイクに関するRTTを減らしたい - 3章 同じ情報を小さいデータサイズで送る - 4章 リソースやリクエストを並列に送りたい - 5章 ブラウザがレンダリングでつまる前に取得順序やタイミングを調整 で、2章ではHTTP/2へのプロトコルアップグレード、3~5章では、HTTP/2の仕様であるHPACK, ストリーム、サーバプッシュも取り上げます。
どんな人にオススメなのか
想定している対象読者はこういう方々です。 - RailsやLaravelの入門を済ませて次はWebサーバの仕組みやネットワークについて勉強してみたいな、と思っている方 - Real World HTTPやプロフェッショナルSSL/TLSといった厚い本を読んだけれどいまいち掴みきれなかった感覚のある方 - インターネットを支える基礎について勉強してみたいけれどまとまった時間がなかなか取れない方 - 通勤電車や晩酌のお供にHTTPの気持ちになりたい方
どうしてこういう人たちにオススメなのか
本書はオタクの趣味の同人誌ということもあって、以下のような方法で構成されており、肩の力を抜いてお楽しみいただけるようになっています。 - 基本1トピック1ページ前後の短くやわらかめな文章 - 「光の進む速度には限界があるからサーバはユーザと物理的に近い方がいいよね」(HTTP編1章)のように前提知識があまりいらないところから始まる各章の構成 - 「これから読むトピックの主題はここですよ」と一文で伝え、読む前にはガヤやガイドの、読んだ後にはリマインダの役割を果たす印象的な見出し - 徹底的に参考文献を明記しながら説明を進め、ニュアンスを伝えるためとはいえ私見が強い部分ではその旨を明示 - このせいで脚注がうるさくなっていますが、気になる方はepub版だと脚注が全部後ろに行ってるので安心です また、メッセージのやりとりなど、文章だけではわかりにくい部分には適宜図を入れ(特にTLS編2,3章とTCP編6章)、インターネットとすこし仲良くなれる仕上がりになったのでは、と自負しております。 商業誌に比べると、図が手書きだったり製版に未熟な点もございますが、その辺りはご愛嬌ということで。。