nginx の 308 Permanent Redirect サポート

#nginx

今日(2017/04/20)時点ではまだリリースされていないが、nginx: be5cfa918bfcで、HTTP ステータスコード 308 Permanent Redirect1 がサポートされた。おそらく nginx 1.13.0 で利用可能になるだろう。

308 については、GIGAZINE の記事『新たなHTTPステータスコード「308」とは?』が分かりやすかった。301 Moved Permanently はリダイレクト時にリクエストメソッドをGETに変えてしまう可能性があり、例えばPOSTメソッドのリクエストボディが失われる懸念があった。それに対し、308 Permanent Redirect はリクエストメソッドの不変を保証する。

幅広い用途があるとは思えないが、以下のkazuhoさんのブコメにあるように、エンドポイントの変更などに対しては有用だろう。

MDN の 308 の Browser compatibility をみると、策定から2年経った今では、ほとんどのブラウザでサポートされたようだ。自分の使っているブラウザの対応状況は http://webdbg.com/test/308/ で確認すると良いだろう。