Part 3
Web サーバーを書く
Part 2 で見た「リクエストを受け取ってレスポンスを返す」を、今度は自分の手で実装します。
まず標準ライブラリ net/http だけで書き、仕組みを理解してから、ISUCON の初期実装でよく使われるフレームワーク echo に進みます。
この Part のコードは手元のマシンで動かします(章によっては、ページ内で実行できる自己完結版も置いています)。
- 最小の Web サーバー net/http で最小の Web サーバーを書いて起動し、curl とブラウザから叩いて動きを確かめます。
- ルーティングとハンドラ http.ServeMux で複数のパスを捌き、ハンドラの 2 つの引数と http.Handler インターフェースの正体を読み解きます。
- リクエストを受け取る パスパラメータ、クエリ文字列、ボディの 3 経路でクライアントからデータを受け取り、検証して 400 を返す判断を身につけます。
- レスポンスを返す ステータスコードとヘッダーの書き方を押さえ、JSON を返す API と html/template で HTML を返すページを実装します。
- ミドルウェア ハンドラを受け取ってハンドラを返す関数というパターンで、全ハンドラ共通の処理を 1 箇所に書く方法を学びます。
- フレームワーク echo ここまでの標準ライブラリの知識がそのまま通用することを、echo で同じアプリを書き直して確かめます。