C#で書くHTTPサーバ、について

まずHTTPサーバたる要件とは:

サーバが「HTTP/1.1 サーバ」を名乗っても良いのは、以下を満たす場合に限られます。

  1. Host ヘッダがないリクエストに、正しく 400 レスポンスを返す事ができる
  2. リクエスURI として絶対 URI を受け入れる
  3. チャンク形式転送コーディングを正しく解釈できる
  4. 持続的接続、及び Connection ヘッダを正しく解釈できる
  5. 100 レスポンスを正しく使用できる
  6. Date ヘッダを正しく付加する (特に HTTP 日付)
  7. If-Modified-Since ヘッダ及び If-Unmodified-Since ヘッダを正しく解釈できる
  8. GET メソッド及び HEAD メソッドを正しく解釈できる
http://www.studyinghttp.net/intro

結構多いような、案外少ないような。