Troubleshoot protocol issues
This guide covers common HTTP/2 and HTTP/3 issues, including origin incompatibility, multiplexing errors, and browser errors, with steps to diagnose and resolve them.
- The origin's
max_concurrent_streams
is negotiated during the handshake process. - If a
GOAWAY(0)
is received, it is likely due to a server restart or another reason causing the server to refuse new streams. - For more information, refer to RFC 9113 - SETTINGS_MAX_CONCURRENT_STREAMS ↗.
- Multiplexing issues can arise due to incorrect server configurations.
- Use netlogs ↗ to identify
SETTINGS_MAX_CONCURRENT_STREAMS
violations or unexpectedGOAWAY
frames. - For more information, refer to Stream Concurrency Issues ↗.
Common browser errors include:
ERR_HTTP2_PROTOCOL_ERROR
ERR_HTTP3_PROTOCOL_ERROR
ERR_QUIC_PROTOCOL_ERROR
These errors do not necessarily indicate a protocol-level issue. Follow these steps:
- Attempt reproduction using HTTP/1.1.
- If the issue persists in HTTP/1.1, address the underlying error before testing HTTP/2 or HTTP/3.
- If the issue does not persist, analyze netlogs for HTTP/2 or HTTP/3-specific issues.
For more information, refer to Chromium URL Request Header ↗.
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark