このページは、拙著「Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門」のサポートページです。
この本は、Webアプリケーション開発者向けの入門書です。
Webアプリケーション開発について、基礎の基礎から説明します。その手段として、本書では、Webサーバを作ります。
Webサーバを作るといっても、PCを買ってきてLinuxとApacheをインストールして、という意味ではありません。ApacheのようなWebサーバのプログラムを自作するということです。
基礎の基礎とは言ってもそれはいくらなんでも基礎に戻りすぎではないのか、そもそもWebサーバなんてそんな簡単に作れるものなのか、とツッコミを入れたくなる人がいるかもしれません。しかし、簡単なものであれば、Webサーバを作ることはさほど難しくはありません。本書で作成するWebサーバの初期バージョンは、Javaで140行程度のプログラムです。また、Webサーバを作るというと、「OSを作る」とか「プログラミング言語を作る」といったような、ちょっとマニアックな行為に思えるかもしれません。しかし、本書で扱う程度のWebサーバを作る知識は、マニアックでもなんでもなく、普通のWebアプリケーション開発者が、当然の常識として知っていなければならないことです。
本書は、TCPソケットによる通信のサンプルプログラムから始まって、次に静的なHTMLを表示できるWebサーバを作り、最終的にはTomcatのへなちょこ版であるサーブレットコンテナ「Henacat」を作るという構成になっています。Henacatには、Cookie、セッション、ファイルアップロードといった機能も搭載します。
こういった機能は、なにも自分で作らなくても、いまどき何らかのフレームワーク等が面倒を見てくれるものです。そうやって生産性を上げるのはおおいに結構なのですが、フレームワークの使い方だけ知っていても、いざ何らかのトラブルが起きた時、手の打ちようがない、というのでは困ります。結局、Webアプリケーションを作ろうと思ったら、Webの基礎であるHTTPを知っている必要があるのです。
このような趣旨の本ですので、本書の内容はかなり「古臭い」ものになっています。本書の内容の大半は、15年以上前の本に書いてあってもおかしくありません。というより、15年くらい前にこんな本があったら、私自身がもっと実感を持ってWebアプリケーションを理解できたのに、という思いが本書の出発点です。
プログラミング言語は普通にわかるけれど、Webアプリケーションを勉強しようとしたら、HTTPリクエストヘッダだのレスポンスヘッダだのContent-Typeだのよくわからない言葉がでてきて困っている、という(当時の私のような)人に、この本をおすすめします。
なお、本書は、以前より私のWebサイトで公開していた「本当の基礎からのWebアプリケーション入門――Webサーバを作ってみよう」の書籍版となります。
相当の修正、加筆がありますので、Webでタダで読めるなら本なんて買わなくていいやとか言わず、ぜひともお買い上げくださいませ。
ご意見、ご質問、不具合連絡等は掲示板にお願いいたします。