415 Unsupported Media Type
HTTP の 415 Unsupported Media Type
クライアントエラーレスポンスステータスコードは、メッセージのコンテンツが対応していない形式であるため、サーバーがリクエストの受け入れを拒否することを示します。
形式で問題が発生するのは、リクエストの Content-Type
または Content-Encoding
で示されたものであったり、リクエストメッセージのコンテンツを処理した結果であることであったりします。
サーバーによっては、リクエストでリクエストされた Content-Type
を厳密にチェックすることがあります。
例えば、 UTF-8 文字セットを指定する際に、UTF-8
の代わりに UTF8
と入力すると、サーバーがメディア型を不正なものとみなす原因となる場合があります。
ステータス
http
415 Unsupported Media Type
例
コンテンツ型がない場合
次の例では、 Content-Type
ヘッダーが完全に欠落しています。
http
POST /comments HTTP/1.1
Host: example.com
Content-Length: 23
{
"user": "belgin",
"comment": "LGTM!"
}
サーバーの実装が、そのエンドポイントでのリクエストに対して、少なくとも MIME タイプ Content-Type: application/json;
を期待している場合、次のレスポンスを送信することがあります。
http
HTTP/1.1 415 Unsupported Media Type
Date: Fri, 28 Jun 2024 12:00:00 GMT
Server: Apache/2.4.41 (Ubuntu)
Accept-Post: application/json; charset=UTF-8
Content-Length: 0
無効なコンテンツ型
次の例では、コンテンツがリクエスト本体にある場合、 Content-Type
ヘッダーが誤って URL エンコードされたフォームデータに設定されています。
http
POST /comments HTTP/1.1
Host: example.com
Content-Length: 23
Content-Type: application/x-www-form-urlencoded
{
"user": "belgin",
"comment": "LGTM!"
}
この場合、サーバーは 415 を返答し、リクエストで要求されるコンテンツ型を Accept-Post
ヘッダーで返します。
http
HTTP/1.1 415 Unsupported Media Type
Date: Fri, 28 Jun 2024 12:00:00 GMT
Server: Apache/2.4.41 (Ubuntu)
Accept-Post: application/json; charset=UTF-8
Content-Length: 0
仕様書
Specification |
---|
HTTP Semantics # status.415 |