最近は、フレームワークなどを活用し、Web アプリケーションを簡単に実装できるようになっています。
その一方で、フレームワークに従ってコードを書くだけで動くものが作れてしまうため、背後にある Web の仕組み・Web アプリの仕組みについては、なかなか理解が進まないことも少なくありません。
この記事では、そんな Web の仕組み・Web アプリの仕組みを理解するための書籍を、
- Web・HTTP を理解する第一歩にオススメの書籍
- Web・HTTP の理解をもう一歩深めるための書籍
の 2 種類 + その他に分けて紹介していきます。
Web・HTTP を理解する第一歩にオススメの書籍
「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか
Web の仕組み・Web アプリの仕組みを解説した入門書です。
Web の発展の流れや、HTTP による通信の様子、CGI やサーブレット・JSP による Web アプリケーションについてなど、Web アプリを作る上で知っておくべき基本が幅広く書かれています。
全体として図解やコードの例が豊富で、非常に読みやすいです。
2010 年の書籍ということで、Ajax を使ったアプリケーションやシングルページアプリケーション (SPA) といった最近よく使われる構成については解説されていませんが、Web の仕組み・Web アプリの仕組みの基本を学ぶには定番のオススメ書籍です。
3分間HTTP&メールプロトコル基礎講座
「3分間ネットワーク基礎講座」というシリーズの 4 冊目で、HTTP とメールのプロトコルの入門書です。
読み進めるには前提として TCP/IP の基礎知識が必要になるので、同シリーズの『[改訂新版] 3分間ネットワーク基礎講座』や、『ネットワークはなぜつながるのか』あたりを読んでからこの本に進むことをおすすめします。
HTTP についての解説も分かりやすいですが、メールのプロトコルの解説も分かりやすいです。
メールのプロトコルを初心者向けに解説している書籍は多くないので、そこを学ぶ目的で購入してみるのもいいと思います。
Web・HTTP の理解をもう一歩深めるための書籍
Webを支える技術 -HTTP、URI、HTML、そしてREST
Web や HTTP について、より実践的に解説している書籍です。
HTTP の仕様や URI の設計・リソースの設計など、実際に Web アプリを開発する際に必要な要素が丁寧に解説されています。
Web や HTTP の概要を理解した後で、より理解を深め、実践的な内容を学ぶのにオススメです。
Web API: The Good Parts
Web API の設計についてまとめられた書籍です。
美しい Web API とはどのようなものかといった話から、具体的なエンドポイントやレスポンスデータの設計などについて、丁寧に分かりやすくまとめられています。
Web API の設計について学びたい際は、こちらの書籍を読んでみることをオススメします。
※ Web の仕組みや Web アプリの仕組みを解説する書籍ではないです
Real World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術
HTTP の解説書で、HTTP/0.9 から HTTP/1.1・HTTP/2・HTTP/3 と、HTTP のプロトコルの発展とともにどんなことができるようになったのかや、RESTful・XMLHttpRequest といった HTTP 周辺の重要なトピックが幅広くまとめられています。
Web アプリについても、サーバサイドで HTML を生成する古典的な方式から、Ajax を使う方式、SPA、SPA + SSR など、最近の構成を含めてまとめられています。
まえがきに書かれている通り、『Web API: The Good Parts』と『ハイパフォーマンス ブラウザネットワーキング』の中間くらいの難易度です。
少し分厚い書籍ですが、一読すると非常に多くのことを学べます。
その他
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
AWS でのネットワーク・サーバ構築の入門書としてよく紹介される書籍です。
Web や HTTP が主題の書籍ではありませんが、AWS 上のサーバに Apache をインストールし、ブラウザの開発者ツールや telnet を使って HTTP による通信の様子を見てみる内容が入っています。
Web や HTTP をしっかり理解する上では、実際にクライアントとサーバのやりとりを見てみるのが一番だと思います。
その点で、AWS の学習に限らず、HTTP の学習としても非常におすすめできる書籍です。
おわりに
以上、Web の仕組み・Web アプリの仕組みを学ぶための書籍を紹介しました。
Web アプリの背後にある Web や HTTP の知識を持っていることで、開発時のエラー解決に役立ったり、少し高度な設計をすることができるようになったりします。
今後も長く使われていく技術だと思いますので、基礎知識として身につけておくときっと役立ちます。