ハイパフォーマンスブラウザネットワーキング
ハイ パフォーマンス ブラウザ ネットワーキング
ネットワークアプリケーションのためのパフォーマンス
- 著者:
- イリヤ・グリゴリク / 和田祐一郎(グリゴリク, イリヤ / ワダ, ユウイチロウ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2014年05月
- ISBN:
- 9784873116761
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
本書は「ブラウザ」に関連する、インターネットで使用される様々なネットワーク技術をまとめたものです。WebSocket や HTTP / 2.0 や WebRTC のように最新ブラウザで簡単に動作する新しい技術から、そのような技術の土台となる TCP や UDP やトランスポート層についてまで幅広くカバーします。
技書の森解説
Web ページの表示を速くしたいとき、スクリプトや画像の手直しだけでは縮まらない待ち時間があります。『ハイパフォーマンスブラウザネットワーキング』 (Ilya Grigorik 著、和田 祐一郎、株式会社プログラミングシステム社 訳、オライリー・ジャパン、2014 年 5 月 16 日発行) は、原書 High Performance Browser Networking の日本語版で、ブラウザーが使うネットワーク技術を「パフォーマンス」という軸でまとめた解説書です。副題は「ネットワークアプリケーションのためのパフォーマンス最適化」で、版元の紹介文は、改善前後の性能や速さを可能な限り具体化し、場面ごとの改善幅を示す本だと説明しています。
全 4 部 18 章の構成、ネットワークの基礎からブラウザー API まで
本文は 4 部 18 章で、冒頭にまえがき、訳者まえがき、はじめにが置かれ、巻末に索引が付きます。I 部「ネットワークの基礎」は 1 章のレイテンシと帯域幅の入門に始まり、TCP、UDP、TLS の各章でトランスポート層と暗号化の仕組みを扱います。II 部「ワイヤレスネットワークのパフォーマンス」は無線網の基礎、WiFi、モバイルネットワーク、モバイルネットワークの最適化の 4 章です。III 部「HTTP」は HTTP の歴史から Web パフォーマンス入門、HTTP 1.x、HTTP 2.0、アプリケーション配信の最適化へ進み、IV 部「ブラウザ API とプロトコル」はブラウザネットワークの入門に続いて XMLHttpRequest、Server-Sent Events、WebSocket、WebRTC を 1 章ずつ取り上げます。TCP、TLS、WebSocket、WebRTC の章には、それぞれパフォーマンスチェックリストが置かれています。
往復遅延と輻輳制御という変わりにくい制約
ネットワークの性能を決めるのは帯域幅だけではありません。データが往復する時間には光の速さに由来する下限があり、どれほど回線を太くしても縮まりません。TCP は接続の確立に往復を要し、届いた確認応答を見ながら送信量を少しずつ増やす 輻輳制御 を備えているため、短い通信を何度も繰り返すページでは帯域を使い切る前に処理が終わってしまいます。暗号化の手順が加われば、往復の回数はさらに増えます。こうした制約は HTTP の版が変わっても土台として残るため、待ち時間がどこから生まれているのかを数字で切り分けたい人にとって、プロトコルの下から積み上げる本書の進め方は回り道に見えて近道です。無線の区間では、端末が電波の状態を切り替えるたびに遅延と電池の消費が生じるという、有線とは別の事情も加わります。
2014 年刊の記述と、HTTP のその後の標準化
本書は 2014 年の刊行で、HTTP の新しい版を HTTP 2.0 という草案段階の呼び名で扱っています。その後、HTTP/2 は 2015 年 5 月に RFC 7540 として標準化され、2022 年 6 月に RFC 9113 で改訂されました。同じ 2022 年 6 月には QUIC の上で動く HTTP/3 が RFC 9114 として発行されています。そのため、HTTP 2.0 の章は標準化前の段階の説明として読み、細部の仕様は RFC で確かめるのが確実です。ドメインシャーディングやファイル結合のように、HTTP 1.x の制約を前提にした工夫がなぜ生まれたのかを知る資料としては、11 章がそれぞれ節を立てて扱っています。
性能の問題に責任を持つフロントエンドやバックエンドのエンジニア、配信の設定を根拠を持って決めたい人にとって、ブラウザーから見たネットワークの全体を 1 冊で見渡せる本書は、手元に置いて引き直す価値があります。QUIC や HTTP/3 の実装の細部を学びたい場合は、RFC や新しい資料を別に当たってください。ネットワークの教科書をどの段階から選ぶか迷う場合は ネットワーク本の選び方 も参考になります。
言及した記事 (11 件)
フロントエンド ド初心者へのススメ
♡ 154JavaScript, 初心者, フロントエンド, キャリア, 新人プログラマ応援Webのリアルタイム通信、双方向通信を学ぶ(SSE、WebSocket、WebRTC、WebTransport)
♡ 133websocket, WebRTC, Server-Sent-Events, WebTransport, AdventCalendar2024HTTPのバージョンについてまとめ
♡ 92HTTP, HTTPS, QUICWebRTC関連の記事等へのリンクまとめ
♡ 80JavaScript, Node.js, HTML5, WebRTCWebRTC の STUN, TURN, ICE とは何なのか
♡ 76WebRTC, udp, stun, turnジョン・ポステルのロバストネス原則とマイクロサービス
♡ 43API, microservicesプログラミングスクールに通って分かったこと
♡ 14AdventCalendar, School#mozaicfm ep11 High Performance Browser Networking
♡ 12mozaicfm, hpbnLinuxでcwnd(輻輳ウィンドウサイズ)、rwnd(受信ウィンドウサイズ)の初期値を変更する
♡ 11Linux, Networkネットワーク関係で学習した内容
♡ 10ネットワークスペシャリスト試験
この本に興味がある方におすすめ
関連する本
関連記事
ネットワーク本ガイド - TCP/IP の教科書からプロトコル各論や実務書までの選び方
ネットワークを学ぶ技術書の選び方を 3 段階 (全体像の教科書 → HTTP や DNS のプロトコル各論 → 実務と運用) で整理。マスタリング TCP/IP や図解入門 TCP/IP などの定番書の使い分けと、ネットワーク本の賞味期限の考え方を解説します。
OS / 低レイヤー本ガイド - コンピューターの仕組みを学ぶ技術書の選び方
OS、コンパイラー、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
インフラ / クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。