新しく400番台のステータスコードを定義する『The Preliminary Request Denied HTTP Status Code』という提案がCloudflareのMark Nottingham氏から提出されています。
4xx Preliminary Request Denied
このステータスコードは、サーバーがprefetchやpreloadのリクエストを拒否していることを示す HTTP ステータス コードです。具体的なステータスコードはまだ未定です。
なお、Preliminary requestとは Sec-Purposeヘッダに"prefetch"が指定されたリクエストのことです。
背景
ブラウザによって将来必要なリソースを投機的にフェッチする prefetch が使われるようになっています。
状況によっては次のようなシチュエーションがあると述べられています
- prefetchすることがパフォーマンスに悪影響があるとサーバ側が知っている
- 現時点では、Preliminary requestに適切な応答が出来ないため、そのリソースが必要になった際に改めてリクエストしてほしい
こういったときに今までは専用のステータスコードがなかったため、サーバとしてそのようなことを表現することは出来ませんでした。
2022年頃から専用のステータスコードを用意スべきか?という議論は有りましたが、今年になって改めてステータスコードを定義しようという動きがあったようです。
Draftの著者でもあるmnot氏は 503ステータスコードが使われることで、実際に混乱が起こっている旨のコメントをしており。それが今回の提案の動機となっています
これはお客様とのやり取りに基づくもので、上記の通りお客様にご迷惑をおかけしております。Cloudflareでは、この状況をより適切にお知らせし、混乱を避けるため、積極的に改善策を模索しております。
