🔩 ねじき教室 Go と Web の教室

Part 3

Web サーバーを書く

Part 2 で見た「リクエストを受け取ってレスポンスを返す」を、今度は自分の手で実装します。 まず標準ライブラリ net/http だけで書き、仕組みを理解してから、ISUCON の初期実装でよく使われるフレームワーク echo に進みます。 この Part のコードは手元のマシンで動かします(章によっては、ページ内で実行できる自己完結版も置いています)。

  1. 最小の Web サーバー net/http で最小の Web サーバーを書いて起動し、curl とブラウザから叩いて動きを確かめます。
  2. ルーティングとハンドラ http.ServeMux で複数のパスを捌き、ハンドラの 2 つの引数と http.Handler インターフェースの正体を読み解きます。
  3. リクエストを受け取る パスパラメータ、クエリ文字列、ボディの 3 経路でクライアントからデータを受け取り、検証して 400 を返す判断を身につけます。
  4. レスポンスを返す ステータスコードとヘッダーの書き方を押さえ、JSON を返す API と html/template で HTML を返すページを実装します。
  5. ミドルウェア ハンドラを受け取ってハンドラを返す関数というパターンで、全ハンドラ共通の処理を 1 箇所に書く方法を学びます。
  6. フレームワーク echo ここまでの標準ライブラリの知識がそのまま通用することを、echo で同じアプリを書き直して確かめます。