application/json — JSONの標準MIMEタイプ
API、AJAXリクエスト、設定ファイルでJSONデータのContent-Typeとしてapplication/jsonを使用するタイミングと方法を学びます。
Common Types
詳細な説明
application/jsonとは?
application/jsonは、JavaScript Object Notation(JSON)データの公式IANAメディアタイプです。RFC 4627(2006年)で標準化され、後にRFC 8259(2017年)で更新されました。サーバーがJSONを返すとき、またはクライアントがJSONリクエストボディを送信するときは、Content-Typeヘッダーをapplication/jsonに設定する必要があります。
一般的なHTTP使用例
Content-Type: application/json; charset=utf-8
RFC 8259ではすべてのJSONにUTF-8エンコーディングが義務付けられているため、charset=utf-8パラメータは技術的には任意ですが、多くのサーバーが明示的に含めています。
なぜtext/jsonではないのか?
text/jsonは非公式に存在しますが、IANA登録されたタイプではありません。application/jsonを使用することで、HTTPクライアント、APIゲートウェイ、コンテントネゴシエーションミドルウェアによる適切な処理が保証されます。
関連タイプ
| MIMEタイプ | 用途 |
|---|---|
application/json |
標準JSON |
application/ld+json |
JSON-LDリンクトデータ |
application/vnd.api+json |
JSON:API仕様 |
application/problem+json |
RFC 7807エラーレスポンス |
application/schema+json |
JSON Schemaドキュメント |
コンテントネゴシエーション
REST APIでは一般的にAcceptヘッダーでフォーマットをネゴシエーションします:
Accept: application/json
サーバーがJSONとXMLの両方をサポートしている場合、このヘッダーを設定することでJSONを確実に受信できます。
ユースケース
REST APIの構築や利用、HTTP経由で配信される.jsonファイルの設定保存、フロントエンドアプリケーションからのAJAXリクエスト送信時にapplication/jsonを使用します。Web API通信のデファクトスタンダードです。