コンテンツにスキップ

JSONの使用

CloudflareのDNS over HTTPSエンドポイントは、DNSデータをクエリするためのJSON形式もサポートしています。インターネット技術者タスクフォース(IETF)においてDNS over HTTPSのための合意されたJSONスキーマがないため、CloudflareはGoogleのDNS over HTTPSリゾルバと同じスキーマに従うことを選択しました。

JSON形式のクエリは、GETリクエストを使用して送信されます。GETを使用してリクエストを行う際、DNSクエリはURLにエンコードされます。クライアントは、DNS over HTTPSリゾルバからのJSONレスポンスを受け入れることができることを示すために、MIMEタイプapplication/dns-jsonを持つHTTP Acceptリクエストヘッダーを含める必要があります。

サポートされているパラメータ

フィールド必須?説明デフォルト
nameはいクエリ名。-
typeいいえクエリタイプ(数値またはテキストのいずれか)。A
doいいえDOビット - クライアントがDNSSECデータを要求するかどうか(空または0false1trueのいずれか)。false
cdいいえCDビット - 検証を無効にする(空または0false1trueのいずれか)。false

リクエストとレスポンスの例:

Terminal window
curl --header "accept: application/dns-json" "https://cloudflare-dns.com/dns-query?name=example.com&type=AAAA"
{
"Status": 0,
"TC": false,
"RD": true,
"RA": true,
"AD": true,
"CD": false,
"Question": [
{
"name": "example.com.",
"type": 28
}
],
"Answer": [
{
"name": "example.com.",
"type": 28,
"TTL": 1726,
"data": "2606:2800:220:1:248:1893:25c8:1946"
}
]
}

無効なリクエストの場合、400 Bad Requestエラーが返されます:

Terminal window
curl --header "accept: application/dns-json" "https://cloudflare-dns.com/dns-query?name=example.com&cd=2"
{
"error": "無効なCDフラグ`2`。空または`0`、`false`、`1`、`true`のいずれかである必要があります。"
}

レスポンスフィールド

以下の表には、各レスポンスフィールドに関する詳細情報があります。

成功したレスポンス

フィールド説明
StatusDNSクエリのレスポンスコード。これらはここで定義されています: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6
TCtrueの場合、切り捨てビットが設定されていることを意味します。これは、DNS応答が単一のUDPまたはTCPパケットよりも大きい場合に発生します。CloudflareのDNS over HTTPSでは、最大応答サイズをサポートしているため、TCはほぼ常にfalseです。
RDtrueの場合、再帰的要求ビットが設定されていることを意味します。これはCloudflareのDNS over HTTPSでは常にtrueに設定されています。
RAtrueの場合、再帰利用可能ビットが設定されていることを意味します。これはCloudflareのDNS over HTTPSでは常にtrueに設定されています。
ADtrueの場合、応答内のすべてのレコードがDNSSECで検証されたことを意味します。
CDtrueの場合、クライアントがDNSSEC検証を無効にするよう要求したことを意味します。この場合、CloudflareはDNSSEC関連のレコードを取得しますが、レコードの検証は行いません。
Question: name要求されたレコード名。
Question: type要求されたDNSレコードのタイプ。これらはここで定義されています: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
Answer: nameレコードの所有者。
Answer: typeDNSレコードのタイプ。これらはここで定義されています: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
Answer: TTL応答がキャッシュに保存できる秒数。これを超えると、応答は古くなったと見なされます。
Answer: data指定された名前とタイプのDNSレコードの値。データは標準化されたレコードタイプの場合はテキスト形式で、未知のタイプの場合は16進数形式になります。
Authority: nameレコードの所有者。
Authority: typeDNSレコードのタイプ。これらはここで定義されています: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
Authority: TTL応答がキャッシュに保存できる秒数。これを超えると、応答は古くなったと見なされます。
Authority: data指定された名前とタイプのDNSレコードの値。データは標準化されたレコードタイプの場合はテキスト形式で、未知のタイプの場合は16進数形式になります。
Additional: nameレコードの所有者。
Additional: typeDNSレコードのタイプ。これらはここで定義されています: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
Additional: TTL応答がキャッシュに保存できる秒数。これを超えると、応答は古くなったと見なされます。
Additional: data指定された名前とタイプのDNSレコードの値。データは標準化されたレコードタイプの場合はテキスト形式で、未知のタイプの場合は16進数形式になります。
CommentEDEメッセージのリスト。詳細については、拡張DNSエラーコードを参照してください。

エラーレスポンス

フィールド説明
error発生したエラーの説明。