Skip to content
Fixes & Errors

Chrome ERR_EMPTY_RESPONSE: Six Fixes in the Right Order

Chrome ERR_EMPTY_RESPONSE means Chrome got nothing back from the server. Here are 6 proven fixes — cache clear, DNS flush, extensions, flags, antivirus, and Chrome reset.

Chrome ERR_EMPTY_RESPONSE: Six Fixes in the Right Order

Chrome’s ERR_EMPTY_RESPONSE error means the server accepted Chrome’s connection but sent back absolutely nothing — not even an error page. The server started to respond, then went silent. This is different from a server being unreachable, which gives ERR_CONNECTION_REFUSED or ERR_NAME_NOT_RESOLVED. You’ll find the complete rundown in our Google Chrome Errors.

The key diagnostic question: does this happen on all websites or only on specific ones? If all sites show ERR_EMPTY_RESPONSE: it’s almost certainly a local network or Chrome configuration issue. If it’s only one site: the server itself may be having problems, though Chrome’s cache or proxy configuration could also be site-specific causes.

Fix 1: Clear Chrome cache and cookies

A corrupted cache entry that forces Chrome to expect a certain server behaviour, or a stale session cookie that the server now rejects without sending a response: both produce ERR_EMPTY_RESPONSE. Clearing the cache resolves this for site-specific occurrences.

Ctrl+Shift+Delete → All time → check “Cached images and files” and “Cookies and other site data” → Clear data. After clearing: retry the URL. If it loads: the cache was the cause.

For a faster, site-specific version: Ctrl+F5 (hard reload for the current page without clearing all site data). If Ctrl+F5 works where a normal reload didn’t: a cached version was the problem.

Fix 2: Disable Chrome extensions

Extensions that modify or block network requests — VPN extensions, privacy extensions, ad blockers — can intercept a request and close the connection before the response arrives. Chrome sees this as an empty response from the server when it’s actually the extension ending the connection.

Test in Incognito mode (Ctrl+Shift+N) — extensions are disabled by default. If the page loads in Incognito: an extension is the cause. Enable them one at a time in regular Chrome to identify which one.

Fix 3: Check proxy settings

A proxy server that’s configured but unreachable — or one that accepts connections but returns empty responses — produces this exact error. Chrome connects through the proxy, the proxy accepts the connection, then responds with nothing.

Chrome Settings → Privacy and security → Security → scroll to “Advanced” → manage proxy settings → or: Settings → System → open proxy settings. For home machines: ensure no proxy is configured. For work machines: confirm the proxy address is correct and reachable from your current network location. VPN changes often break proxy configurations that were set for office network use.

Fix 4: Network stack reset

Corrupted TCP/IP configuration can cause partially-established connections that produce empty responses. Administrator Command Prompt:

netsh winsock reset
netsh int ip reset
ipconfig /flushdns

Restart after running all three. This is particularly effective when ERR_EMPTY_RESPONSE appears alongside other network errors on different sites.

Fix 5: Check for antivirus HTTPS inspection

Security suites that inspect HTTPS traffic can drop connections if they encounter something unexpected in the response — returning an empty response to Chrome rather than the actual content or a proper error. Temporarily disable HTTPS inspection in the antivirus (not the whole antivirus, specifically the HTTPS/SSL scanning component) → retry the URL. If it loads: add it to the HTTPS inspection exclusion list.

Fix 6: DNS change

DNS returning an IP for a server that exists but isn’t responding correctly can produce ERR_EMPTY_RESPONSE. If the cached DNS entry points to an old server IP that’s still listening but not serving requests: Chrome connects, gets accepted, receives nothing. Flush DNS first (ipconfig /flushdns from Fix 4), then test. If it persists: change DNS to a reliable public server: Chrome Settings → Privacy and security → Security → Use secure DNS → switch to Cloudflare or Google.

Our guide on Chrome connection errors covers ERR_CONNECTION_REFUSED and ERR_NAME_NOT_RESOLVED which accompany ERR_EMPTY_RESPONSE in many network misconfiguration scenarios. For the HTTPS inspection issues that produce empty responses, our network configuration guide covers the antivirus and proxy configuration that affects HTTPS traffic. Chrome’s network error documentation covers the chrome://net-internals/#events page which logs every network event including the exact point where a connection fails — useful for distinguishing server-side drops from client-side interruptions.

When it’s the website, not Chrome

ERR_EMPTY_RESPONSE on a specific website that works on other devices or browsers almost certainly means the server is sending empty responses to Chrome specifically — usually due to a browser-specific header Chrome sends that the server doesn’t handle correctly.

Test in a different browser (Firefox, Edge) to confirm. If only Chrome shows the error: the site may be blocking Chrome’s user agent, or Chrome’s HTTP/2 implementation is triggering a bug in the server’s HTTP/2 handling. In Chrome’s address bar: try adding ?cache=false to the URL (forces a bypassed cache server-side for some CDNs) or access the site with https:// explicitly prefixed if you’ve been using http://.

Also try: chrome://flags → search “QUIC” → Experimental QUIC Protocol → Disabled → Relaunch. QUIC (HTTP/3) is Chrome’s protocol for faster connections, but some servers don’t handle it correctly and drop the connection. Disabling QUIC forces Chrome to use standard HTTP/2 or HTTP/1.1.

Checking connection type in chrome://net-internals

Navigate to chrome://net-internals/#events in Chrome → reproduce the ERR_EMPTY_RESPONSE error → look for the event stream for that URL. The events show the exact sequence of network operations and where the empty response was detected. Key events to look for:

  • TCP_CONNECT followed by no data events: connection established but server sent nothing
  • SSL_CONNECT failure: TLS handshake issues — may indicate certificate or HTTPS inspection interference
  • PROXY_RESOLVED events: confirms a proxy is in use, with the proxy address

This technical view confirms whether the issue is a proxy dropping the connection, a TLS problem, or a true empty response from the destination server.

Chrome’s connection pool reset

Navigate to chrome://net-internals/#sockets → “Close idle sockets” → “Flush socket pools.” This closes all existing connections Chrome has open and forces fresh connections for subsequent requests. If Chrome was reusing a connection that had gone stale (connection pooling reuse of a connection the server already closed): flushing socket pools resolves it without the broader network stack reset.

HSTS and forced HTTPS

If a site has HSTS (HTTP Strict Transport Security) cached by Chrome and the site’s HTTPS certificate is now invalid or the HTTPS server has issues: Chrome forces HTTPS, gets an empty response from a broken HTTPS endpoint, and shows ERR_EMPTY_RESPONSE rather than a certificate error.

Clear HSTS for the specific domain: chrome://net-internals/#hsts → “Delete domain security policies” → enter the domain name → Delete. After deleting: Chrome tries the connection fresh without the HTTPS enforcement. If the site now loads on HTTP but not HTTPS: the site’s SSL certificate or HTTPS configuration has a problem.

Site-specific empty response: developer perspective

For developers encountering ERR_EMPTY_RESPONSE on their own site: common server-side causes include:

  • Server process crashed or out of resources — responds to the TCP connection but can’t generate an HTTP response
  • Web server configuration error (nginx closed the connection before writing headers; Apache worker crashed mid-response)
  • Load balancer forwarding to a backend that’s down — the load balancer accepts TCP, the backend is unreachable, the load balancer closes without sending anything
  • Application-level exception that suppresses all output — some web frameworks handle uncaught exceptions by closing the connection rather than sending a 500 error

Server logs are the diagnostic tool here — the application, web server, and load balancer logs show whether requests are reaching the server and what happens when they do.

ERR_EMPTY_RESPONSE vs similar errors

Error Meaning Common cause
ERR_EMPTY_RESPONSE Connected, received nothing Server crash, proxy dropping connection, HTTPS inspection issue
ERR_CONNECTION_REFUSED Server refused the connection Server not running, firewall blocking
ERR_CONNECTION_TIMED_OUT No response within timeout Server overloaded, network routing issue
ERR_NAME_NOT_RESOLVED DNS failed DNS server unreachable, wrong domain
ERR_CONNECTION_RESET Connection was reset mid-response Server crashed during response, firewall RST packet

ERR_EMPTY_RESPONSE specifically means the TCP connection was established successfully — the server (or proxy) accepted the connection — but no HTTP data was sent. This is the key distinction: the networking layer worked but the application layer failed to respond. Fixes targeting network connectivity (DNS, TCP reset) and Chrome-server protocol negotiation (QUIC disable, HSTS clear) are most relevant for this specific error.

Multiple sites affected simultaneously

If ERR_EMPTY_RESPONSE appears on many different sites at the same time: a proxy or network component is likely returning empty responses. Check:

  • Whether the VPN or proxy was recently changed or updated
  • Whether corporate network settings were pushed recently
  • Whether the ISP modem was recently updated (some modem firmware updates change TCP behaviour)

Run the network stack reset (Fix 4) and disable the proxy (Fix 3) as the priority fixes when multiple sites are affected. If the problem resolves immediately after one of these: that was the cause.

Chrome profile as a variable

ERR_EMPTY_RESPONSE that occurs in one Chrome profile but not another on the same machine points to a profile-specific issue: a corrupted extension, bad proxy setting stored in the profile, or a Chrome flag configuration that affects how the profile handles connections. Test by creating a new Chrome profile → attempting the URL → if it loads in the new profile: the original profile has a setting causing the issue.

Check the original profile’s proxy settings (Settings → System → proxy), its extension list, and run chrome://net-internals/#sockets flush in the original profile. If the error persists in the original profile only after all those fixes: resetting the profile (Settings → Reset settings → Restore settings to default) is the clean option, keeping bookmarks and passwords while clearing configuration.

Temporary server issues

A straightforward but important point: ERR_EMPTY_RESPONSE is sometimes just the server having a bad moment. If the error appeared briefly and loading again after 30 seconds works: it was a temporary server issue. Hitting F5 once more before going through troubleshooting steps is always worth trying. This is especially true for high-traffic sites during peak hours — a server that’s just restarted or is under heavy load may drop connections before it can respond.

The fixes above are for persistent ERR_EMPTY_RESPONSE (happening every time you try the URL, or on multiple sites consistently). A one-time occurrence on a specific site almost certainly doesn’t need troubleshooting — it resolves on its own.

Connection persistence and keep-alive

HTTP/1.1 and HTTP/2 use persistent connections — Chrome reuses an established connection for multiple requests rather than opening a new one each time. When a server closes a persistent connection without notifying Chrome: Chrome tries to send a request on the dead connection and receives nothing back, triggering ERR_EMPTY_RESPONSE.

The chrome://net-internals/#sockets flush (mentioned above) resolves this by discarding all stale connections. As a permanent measure for a site that consistently shows this: adding it to Chrome’s “Not allowed” list for persistent connections (via enterprise policy or flags) forces a fresh connection each time — less efficient but eliminates the stale connection problem. For most users, the socket flush is sufficient without permanent connection persistence changes.

Confirming resolution

After applying a fix: don’t just reload the same tab (it may retry from cache). Open a new tab → type the URL fresh → this ensures Chrome makes a completely fresh connection rather than potentially reusing cached state from the previous failed attempt. If the page loads in the new tab: the fix worked and the previous tab’s state was stale.

For periodic recurrence (the error comes back every few days): the most likely cause is the stale connection pool or a DNS entry that changes frequently and Chrome caches the wrong value. Setting up a periodic chrome://net-internals/#sockets flush shortcut provides a quick reset without full network stack intervention each time.

ERR_EMPTY_RESPONSE is one of the more ambiguous Chrome errors because it can originate from so many different layers — the server, an intervening proxy, Chrome’s TLS implementation, or a local network component. The approach of testing in Incognito first (rules out extensions), then in a different browser (rules out Chrome specifically), then applying network fixes (cache, DNS, proxy) in order covers the diagnostic path systematically. If all three tests point to Chrome being the problem but the site-specific error continues: the QUIC disable and chrome://net-internals/#sockets flush address the Chrome-level protocol and connection pool issues that cause false “empty response” errors.

One more scenario that’s worth mentioning: corporate DNS or firewall that silently drops traffic to certain domains. This differs from a firewall that blocks access (which produces ERR_CONNECTION_REFUSED) — a silent drop causes the connection to be established then abandoned, producing exactly ERR_EMPTY_RESPONSE. If you’re on a work network and specific sites consistently show this error while working fine at home: the corporate network may be intercepting and silently dropping traffic to those domains. This is a policy issue rather than a technical problem to fix locally — the appropriate path is through IT to confirm what’s being blocked and why. Related: Chrome Not Loading Images.

Nikolas Lamprou

Nikolas Lamprou (MSc; GCFR, SC-200, Security+) has been working with computers professionally since 2009 — starting with web development and e-commerce, and moving into cybersecurity over the years. Based in Greece, he brings over 15 years of real-world IT experience to SolveTechToday, where he writes about Windows fixes, software reviews, security tools, and AI applications. His goal is straightforward: cut through the noise and give readers clear, honest guidance on the tech decisions that matter.

Stay Ahead

Fix your next problem before it starts

Get the week's best Windows fixes, software picks, and security guides delivered straight to your inbox. No noise, just solutions.

Press ESC to close · Try "Windows 11" or "Chrome"