理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

Real World HTTPを読んだ

Real World HTTP 読みました。

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

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

これまで、HTTP を真正面から扱った本というと、Web を支える技術が思い浮かぶんですが、こちらは刊行が 2010 年。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

n Real World HTTP では、その後についに表れた HTTP 2 を含め、HTTP に関する歴史 (なんと 0.9 から!) とそこで定義されてきた規約、そして HTTP をベースにした様々な技術 (OAuth、OpenID Connect や RDF、WebSocket や Server-Sent Event など)、 そして、HTTP に関するセキュリティといった HTTP 関連情報を詰め込んだ本になっています。

HTTP というと、その裾野が広すぎて、とても全部を書籍に詰め込むことはできない(と思う)からこそ、これまで 関連技術を含めた HTTP というのは「つまみ食い」「必要になって勉強」せざるを得なかったように思うんですが、 この本に書いて技術を理解しておけば、HTTP に関してはなんとかなっていくかなぁと思うほどに、テーマとしては広範でした。

一方で、この本を手元に置いておけば HTTP は完全理解かというと、決してそんなことはなく、 リファレンスにするには内容が足りない(おそらくはリファレンスを想定した書籍でもない) ので、一つ一つの技術は深追いしていく必要は あると思います。思うのですが、「あぁ自分はこの技術に対する理解が足りないな」と気付きを与えてくれる書籍としてはすごく有用で、 どの RFC で定義されているのかがキッチリ書いてあり、自学の助けになると思います。 自分自身についても、よく知らない技術がいくつもあって、あーまだ勉強せんとなぁという気分にさせられました(HTTP 2 については、まったく RFC に目を通せてない…)。

特色としては、Golang を使った HTTP 系の実装コードが載っていることではあるんですが、 「Golang を使うときはこのモジュールを使えば良いんだ」は分かる一方で、 モジュールが良い感じに技術詳細をブラックボックスにしてくれているので、HTTP というよりは Golang の使い方が分かる、といったものかと 思います。

例えば、HTTP サーバがどのように実装されるのか、なんていうケースは、別の書籍を読んだ方が良いのかと思いました。 (最近、ソケットプログラミングとかだとどの書籍を読むんですかね…)