Real World HTTP 第2版を読んだ

昼休みブログチャレンジです。

昨日は日曜日でしたので、「Real World HTTP」の第2版を読みました。

Real World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術

Real World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術

  • 作者:渋川 よしき
  • 発売日: 2020/04/21
  • メディア: 単行本(ソフトカバー)

Amazonリンクを貼っているけど自分はオライリーの電書で読んだ。先のエントリーに載せたとおり、「PC Kindleで読むの楽だな〜www」というのをやっています。
(ただPDFファイル読みにくかったので、epub -> mobiにして読んでいます)

その感想とかのメモ

読む前

  • 書名を聞いた時は「HTTP分かんないんだよな」みたいな気持ち
  • 初版が発売した時に「サンプルコードをGoで書かれていてGoの勉強にもなる」といった感想を見かけていた
  • Goちょっと触れてみたいよな〜という今日このごろなので、じゃあ読んでみっか!!みたいな気持ち

読後

「HTTP」によって盛り上がってきた話を幅広く扱う本

書名に「HTTP」と書いてあるので、そういった詳細な技術的な話かな〜という想像をしていたのだが、内容としては正に「Real World」という感じだった。
現実世界においてHTTPはどう使われているのか?みたいな話になっており、なるほど〜そういう作りなのか〜面白いな〜〜と思った。

前書きを見ると

“本書を読んだ人の多く†3は「これReal World HTTPでみたやつだ」と感じる瞬間を経験しています。”

抜粋:: 渋川 よしき “Real World HTTP 第2版”。 Apple Books

という言葉があり、この本の性格を表しているようにも感じる。

なので、「HTTP」というのを強調した名付けにはなっているが、「HTTPの主要な関係者であるWebブラウザは、どう使っているか?」という話に比較的多くの頁を割いているような印象。
この辺り、目次を一瞥すると雰囲気がつかめるかも。*1

逆に言うと、隣接分野である話にも存分に触れていて、例えば「セマンティックウェブ」「REST, RESTful」「XHR・Fetch API」なんて言葉も出てくる。

扱っている幅の広さは「Webを支える技術」と近いのかな〜という感じ。
あちらよりは、少し低レイヤーな目線になっているような印象を受けた(タイトルの通りね)

HTTPの歴史と未来像の話に触れられたので嬉しい

「HTTP/2」とか「QUIC」とか良く聞くものの、一体何ものなのか分からん・・・・というところだったので、少なくとも教養レベルでは触れられたかな?という感じがしてよかった。
(・・・とはいえ、TCPとかUDPとかトランスポート層の話が分かってないので、ピンと来るような理解にまで自分は至らなかった。。。)

どう考えても普段業務や趣味で触れている領域と接する界隈なので、知っておいて全然損はしないんだよな〜と改めて思わされた次第。

なんでGoなの?

そもそも「HTTPの話をするのに、コードを書いてみる」というのは一体どんなアプローチなのか・・・?と思っていたのだけど、読んでみると納得感があった。
「Real World」と銘打ってるくらいなので、「それがどう使われているのか」というところに主眼がある(と思っている)。
なので、「コードを書いて動かしてみる」のは至極真っ当なアプローチだな〜と。
ただ「利用シーンを見てみる」だけなら、curlコマンドを貼ってターミナルで動かしてみる〜とかで良い気がするんだけど。そこを「コード書いてみよう」と切り込んだことで、クライアントサイドもサーバーサイドも触れる・・ってなってるのは強いw

あとは言語選定についてなのだけど。
こういう「言語に関わらないトピックだけど、ちょっと実コードでみたいよね」系の話、一昔前ならJavaPythonかなーという印象があったんだけど。
(こういう時、PHPだと「何でもやりすぎちゃう」ような関数も多いので、扱いづらいだろうな・・w)
その2言語に比べると、ちょっと「尖った」チョイスだなーと思ったけど、「記述量を少なくしつつ、変に高機能すぎずに何やっているか追いやすい」みたいな役割をしっかり果たしているな〜と思った。
とはいえ、チュートリアル程度はこなしておかないとコードの意味が追えなくなる感はあるけど。擬似コードの代わり〜って意味だと、Pythoの方が合っているかな? その意味では、この本の想定読者が「完全に初心者の方を向いていない、ちょっと目線高め」な雰囲気も現れていそうだな、って感想。

残念だったとこ

ちょっと誤植が目立ち過ぎかもな・・・・とは思ったところ。
「CSP」が「CPS」になっていたり、図表やリストを指しているのであろうプレースホルダがそのままになっていたり、誤字や脱字など・・・😥
このあたり、文章を読んでいる時にちょっと集中力を途切れさせるので、残念に感じた〜

全体的なところ

随分と具体例・実践例を補足しながら解像度をあげてくれる本だな〜と思ったので、「現実の世界におけるHTTP」というコンセプトを実現しているな!!という感じ。
コード見るとわかりやすいよね、というのは普段の業務で何かを説明したりする時にも意識したいやつ・・・

目の前で起きていることやその裏側で支えとなっている技術などに思いを馳せるための、知識の広がりを得る本かな〜と思う。
なので、「最初から最後まで通して読む」or「目次を見て知らないところ・興味を持ったところを読む」みたいな接し方が良くて、精読をするよりも「脳内に単語のindexを作る」くらいの感覚でバ〜〜っと読み通すのが良いのかな!と感じた。

*1:見ないで買ってたので!