Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術 amazon.co.jp

HTTP の仕様を歴史から紐解く良書でした。

HTTP/0.9(!) から始まり、1.0, 1.1, 2、そしてセキュリティと網羅的に学ぶことが出来ます。個人的には HTTP/2 を雰囲気でしか理解していませんでしたが、分かった気になれた気がします。

↓ まえがき v から引用。

本書では次の二冊の間におさまる本として書いてきました。

・『Web API: The Good Parts』(オライリー・ジャパン 刊、水野貴明 著)
・『ハイパフォーマンスブラウザネットワーキング』(オライリー・ジャパン 刊、Ilya Grigorik 著)

これにピンときたら、読んだ方が良いと思います。『Web API: The Good Parts』は [2015-04-09-2] に読みました。読み終わった後、何度も参照することとなった、とても良い本です。

一点、サンプルコードが Go 言語なので、好き嫌いは分かれるかもしれません。

それについて私は問題なかったのですが、『Goならわかるシステムプログラミング 』と平行して読んでいたので、割と混乱しました(笑)。両方とも Go 言語で、内容が似た章もあり、作者さんも同じ渋川よしきさんです。

渋川よしきさん、どれほどの知識量なんや…。

以下、自分用のメモ。

P47

・プロクシ:通信内容を理解する。必要に応じてコンテンツを改変したり、
サーバーの代わりに応答したりする
・ゲートウェイ:通信内容をそのまま転送する。内容の改変も許さない。
クライアントからは途中に存在することを気づかれてはならない

P58

表2-3 スキーマの組み合わせとリファラーの有無

アクセス元 アクセス先 送信するかどうか?
HTTPS HTTPS する
HTTPS HTTP しない
HTTP HTTPS する
HTTP HTTP する

P92

curl コマンドは複数のリクエストを並べて書くことで、Keep-Alive を使っ
て複数のリクエストを続けて送ります。
$ curl -v http://www.google.com http://www.google.com

P147

(省略)Git では、転送用プロトコルとして SSH と HTTPS の2種類をサ
ポートしています。実はこの HTTPS の中では WebDAV を使っています。
SSH は暗号化した通信経路を使いますが、その中の通信はオリジナルの
Git プロトコルを使っています。HTTPS であれば、どの WebDAV サーバー
を使ってもホストできるため、セットアップが簡単というメリットがあり
ますが、差分だけの転送が行える Git プロトコルのほうが通信速度はす
ぐれています。