しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Microsoft Edge の HTTP エラーページが面白かったので調べた

たまたま見つけた Microsoft Edge の HTTP エラーページが面白かったので、無駄と思いつつ調べてみました。真っ白になるやつ以外を調べてピックアップしました。

Edge は 410 に対応しているみたいなので、いい機会があれば使ってみたいです。

400 Bad Request

f:id:shiba-yan:20150827235335p:plain

403 Forbidden

f:id:shiba-yan:20150827235220p:plain

404 Not Found

f:id:shiba-yan:20150827235137p:plain

405 Method Not Allowed

f:id:shiba-yan:20150827235052p:plain

406 Not Acceptable

f:id:shiba-yan:20150827234930p:plain

408 Request Timeout / 409 Conflict

f:id:shiba-yan:20150827234758p:plain

410 Gone

f:id:shiba-yan:20150827234708p:plain

500 Internal Server Error

f:id:shiba-yan:20150827235617p:plain

501 Not Implemented

f:id:shiba-yan:20150827235655p:plain

HTTP ステータスコードの微妙なニュアンスの違いをちゃんと表現してくれているので、割とわかりやすい気がします。しかし情報ハイウェイは逆にわかりにくいと思いました。

HTTP ステータスコードを返す

任意の HTTP ステータスコードを返すには HttpStatusCodeResult と TrySkipIisCustomErrors を使うのが鉄板です。あまり機会はないと思いますが、いざという時に役に立ちます。

public ActionResult Index()
{
    // true にしておかないと IIS カスタムエラーページが表示される
    Response.TrySkipIisCustomErrors = true;

    return new HttpStatusCodeResult(400);
}

HTTP ステータスコードとして 404 や 500 を返しつつ、カスタムエラーページを表示したい場合に使えます。