Errors / Network errors
net::ERR_HTTP2_PROTOCOL_ERROR
The server broke the rules of the connection while sending its answer.
The request fails, often intermittently.
Why it happens
- The server or proxy closed the stream mid-response: a crash, a timeout, a response larger than a buffer.
- An invalid header in the response (a header name with uppercase or a newline in a value) that HTTP/2 rejects.
- A mismatch between what a proxy and the app behind it think the response length is.
How to fix it
- Look at the proxy's error log (nginx, a load balancer) at that time; it usually names the cause.
- Check response headers the app sets by hand.
- Reproduce with
curl --http2 -von the URL. - If the same URL works over HTTP/1.1 (
curl --http1.1) and fails over HTTP/2, the response is the problem, not the network. A browser extension or antivirus that inspects traffic can also cause it for one visitor only, so check it in a clean profile before changing the server.
Whose problem it is
Usually the server that answers the request.
Does your site have it?
Free, no account. We open your page and four more in a clean Chrome and list every error like this one, with the page and the click that caused it. How the free page check works.
Often seen with
- ERR_QUIC_PROTOCOL_ERRORThe fast connection mode Chrome tried with the server (HTTP/3) failed.
- ERR_EMPTY_RESPONSEThe server accepted the connection and then sent nothing back.