Skip to main content

HTTP Version

free
GET/v1/domain/http-version

Tests which HTTP protocol versions a domain supports including HTTP/1.1, HTTP/2 (RFC 9113), and HTTP/3 (RFC 9114, built on QUIC/RFC 9000). Modern HTTP versions significantly improve performance through multiplexing and reduced latency. Now uses the HTTPS DNS resource record (RFC 9460) to authoritatively confirm HTTP/2 and HTTP/3 support — Workers cannot inspect ALPN directly.

What It Does

Queries the HTTPS DNS record (TYPE65) for the authoritative ALPN advertisement (h2, h3) and combines it with the response Alt-Svc header. When the DNS record advertises h2/h3, confidence is "dns-confirmed"; when only Alt-Svc carries h3, HTTP/2 is implied with "confirmed" confidence; otherwise HTTP/2 is "inferred" from a successful HTTPS connection. Also detects whether the CDN supports 103 Early Hints and the origin already publishes Link headers.

Why It's Useful

HTTP/2 (RFC 9113) and HTTP/3 (RFC 9114) provide significant performance improvements through multiplexing, header compression (HPACK/QPACK), and 0-RTT connection establishment. HTTP/3 over QUIC (RFC 9000) eliminates head-of-line blocking at the transport layer. Verifying support is important for performance optimization and ensuring CDN/load balancer configuration is correct.

Use Cases

Performance Engineer

Performance Audit

Verify HTTP/2 or HTTP/3 is enabled for optimal content delivery.

Ensure modern protocols are configured for best performance.

DevOps Engineer

Infrastructure Assessment

Confirm load balancers and CDNs support modern HTTP protocols.

Validate infrastructure supports latest protocol standards.

Technical SEO

Competitive Benchmark

Compare HTTP protocol support across competitor sites.

Identify protocol optimization opportunities versus competitors.

Parameters

NameTypeRequiredDescription
domainstringRequiredDomain or full URL — accepts `example.com` or `https://example.com/path`.Example: https://google.com

Response Fields

FieldTypeDescription
domainstringThe queried domain (bare hostname).
urlstringFull URL that was fetched, echoing the protocol used in the request.
http11booleanHTTP/1.1 support
http2booleanHTTP/2 support
http2ConfidencestringConfidence: "dns-confirmed" (HTTPS RR advertises h2), "confirmed" (h3 in Alt-Svc implies h2), or "inferred" (assumed for any HTTPS response)
http3booleanHTTP/3 (QUIC) support
http3ConfidencestringConfidence: "dns-confirmed", "alt-svc", or "none"
alpnFromDnsarrayALPN tokens advertised by the HTTPS DNS record (RFC 9460). Empty if no HTTPS RR is published
protocolstringDetected protocol name
versionstringDetected protocol version
altSvcstringRaw Alt-Svc header value
altSvcEntriesarrayParsed Alt-Svc entries with protocol, authority, and max-age
earlyHintsSignalobject103 Early Hints capability heuristic — { capable, via: "link-header" | "cdn-capable" | "both" | null }
recommendationsarrayProtocol optimization suggestions

Code Examples

cURL
curl "https://api.edgedns.dev/v1/domain/http-version" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d "domain=https://google.com"
JavaScript
const response = await fetch(
  'https://api.edgedns.dev/v1/domain/http-version?domain=https%3A%2F%2Fgoogle.com',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  }
);

const data = await response.json();
console.log(data);
Python
import requests

response = requests.get(
    'https://api.edgedns.dev/v1/domain/http-version',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    params={
    'domain': 'https://google.com'
    }
)

data = response.json()
print(data)

Read the full HTTP Version guide

Why it matters, real-world use cases, parameters, response fields, and how to call it from Claude, ChatGPT, or Gemini via MCP.

Read the guide →

Related Endpoints

External References

Learn more about the standards and protocols behind this endpoint.

Try This Endpoint

Test the HTTP Version endpoint live in the playground.