たまたま見つけた Microsoft Edge の HTTP エラーページが面白かったので、無駄と思いつつ調べてみました。真っ白になるやつ以外を調べてピックアップしました。
Edge は 410 に対応しているみたいなので、いい機会があれば使ってみたいです。
400 Bad Request
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
408 Request Timeout / 409 Conflict
410 Gone
500 Internal Server Error
501 Not Implemented
HTTP ステータスコードの微妙なニュアンスの違いをちゃんと表現してくれているので、割とわかりやすい気がします。しかし情報ハイウェイは逆にわかりにくいと思いました。
HTTP ステータスコードを返す
任意の HTTP ステータスコードを返すには HttpStatusCodeResult と TrySkipIisCustomErrors を使うのが鉄板です。あまり機会はないと思いますが、いざという時に役に立ちます。
public ActionResult Index() { // true にしておかないと IIS カスタムエラーページが表示される Response.TrySkipIisCustomErrors = true; return new HttpStatusCodeResult(400); }
HTTP ステータスコードとして 404 や 500 を返しつつ、カスタムエラーページを表示したい場合に使えます。