ホーム › HTTP サーバー自作
HTTP サーバー自作
TCP ソケットで HTTP サーバーを0から実装するサンプル集です。 フレームワークに頼らず ServerSocket と Socket だけを使って、 HTTP プロトコルの仕組み(リクエスト行・ヘッダー・ボディ・レスポンス)を 手を動かしながら学べます。Java 8 / 17 / 21 の3バージョンで解説します。
H-01: 最小 HTTP サーバー(GET のみ)
ServerSocket と Socket を使って HTTP サーバーを0から実装します。GET リクエストのパース・ルーティング・レスポンス送信の仕組みを Java 8 / 17 / 21 で解説します。
ServerSocketSocketHTTP/1.1ExecutorServiceH-02: POST リクエスト対応
フォームの POST リクエストを受け取り、ボディを読み取る方法を解説します。Content-Length を使ったボディ読み取り・URL デコード・303 リダイレクトの実装パターンを紹介します。
POSTContent-LengthURLDecoder303 RedirectH-03: TODO リスト(CSV データストア)
フォーム送信で TODO を追加・削除し、CSV ファイルにデータを永続化する完全な Web アプリを実装します。ReentrantLock による同時書き込み制御も解説します。
CSVReentrantLockフォーム送信XSS対策