Slate Errors

Server Error

510

Not Extended

— 拡張が必要

まずは確認: よくある原因 TOP3

  1. HTTP の拡張機能 (RFC 2774) を要求された
    サーバーがその拡張をサポートしていない
  2. クライアントとサーバーの拡張仕様の認識違い
    一方は知っている、もう一方は知らない拡張
  3. 実験的な仕様の利用
    標準化されていない独自拡張の応酬

何が起きたのか?

510 は「リクエストの中で『この拡張機能が必要』と宣言されたけれど、サーバー側にその準備がありません」というサインです。 教室で言えば、特定の道具を持参するルールの授業で、生徒も先生もその道具を忘れてきた——道具がなければ授業が成立しない、そんな状況に近いです。

「HTTP Extension Framework」という古い仕様 (RFC 2774) に関わるエラーで、現代の Web ではほとんど使われません。実装上は 501 (Not Implemented) と似た位置付けで、サポートしていない拡張要求への返答として用意されました。

黒板からのひとこと

実験のような特別な授業では「この日は専用の道具を全員持ってくる」と前もって決めておきます。当日それを忘れると、授業ができないので予定が組み直しになる。準備が整わなければ進めない、というシンプルな話です。

510 もそれと同じで、サーバーは「その拡張機能を理解できる準備がない」と返しています。標準仕様の範囲で実装を見直すか、クライアント側で拡張要求を外すかの判断になります。

解決への歩み

大丈夫、次はこうしてみよう:

  1. 拡張機能のヘッダ (Man:, C-Man:) を外す:標準的な HTTP リクエストで再試行
  2. 対応サーバーのバージョンを確認:互換性のある実装に切り替え
  3. 代替手段を検討:標準仕様で同等の機能を実現できないか探す
  4. 拡張サポートの方針を整理(管理者向け):必要な拡張の有無、利用者向けドキュメント、エラー応答の整備

実際にはこう見える

$ リクエスト

curl -i https://example.com/some/path

↓ レスポンス

HTTP/1.1 510 Not Extended
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<html><body><h1>510 Not Extended</h1></body></html>

似ているケース

もっと知りたい