しばやん雑記

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

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

たまたま見つけた 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 を返しつつ、カスタムエラーページを表示したい場合に使えます。