Connection errors

ERR_EMPTY_RESPONSE

The website closed the connection without sending anything.

Quick answer

The browser connected and asked for the page, but the server closed the connection without any answer. The website may be down or crashing.

When to wait: Often yes; try again in a few minutes.

If you are visiting the website

  1. Wait a minute and reload once A server that was restarting or briefly overloaded may answer normally a moment later. Reload the page once instead of many times in a row.
  2. Check whether the site is down for everyone Run the address through CheckWebsiteNow. If our check from outside your network also gets no usable answer, the problem sits at the website and only its owner can fix it.
  3. Try another network Switch from Wi-Fi to mobile data, or the other way round. If the site works there, your network, router or internet provider may be involved.
  4. Start fresh connections in the browser Browsers reuse open connections. Throwing them away forces a clean new connection, which helps when an old one went stale.
    Windows
    Chrome: open chrome://net-internals/#sockets and click Flush socket pools, then reload. Edge: edge://net-internals/#sockets. Optional: open Command Prompt and run ipconfig /flushdns to clear the Windows address cache.
    macOS
    Chrome: chrome://net-internals/#sockets > Flush socket pools. Edge: edge://net-internals/#sockets. Optional: in Terminal run sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder (asks for your Mac password).
    ChromeOS
    Open chrome://net-internals/#sockets and click Flush socket pools, then reload the page.
    Android
    Close Chrome completely from the recent apps screen, then open it again. Turning Airplane mode on and off also starts fresh connections.
    iPhone and iPad (iOS)
    Close the browser from the app switcher and open it again, or turn Airplane mode on and off once.
  5. Test without extensions Open a private (incognito) window, where extensions are usually off. If the page loads there, turn your extensions off one at a time to find the one that interferes.
    Windows
    Chrome or Edge: press Ctrl+Shift+N for a private window. Chrome extensions: More (three dots) > Extensions > Manage extensions.
    macOS
    Chrome or Edge: press Cmd+Shift+N for a private window. Chrome extensions: More (three dots) > Extensions > Manage extensions.
    Android
    Chrome: More (three dots) > New Incognito tab.
    iPhone and iPad (iOS)
    Chrome: More (three dots) > New Incognito Tab.
  6. Pause HTTPS scanning briefly Some antivirus and firewall tools read encrypted web traffic (often called HTTPS scanning or web shield) and can swallow the reply. Pause only that feature for one test, reload, then switch it back on right away.

If you run the website

  1. Check server error logs Look at your web server and application logs for the exact time of the error. They usually name the crash, timeout or rejected request.
  2. Reproduce it from outside Run curl -v https://example.com/path from a machine outside your network. If curl reports an empty reply from the server, the connection was accepted and then closed without a single header, which confirms a server-side cause.
  3. Look for crashed or killed workers Check whether your application process restarted at that moment, for example after running out of memory. Process managers such as systemd, Docker or PHP-FPM log restarts with timestamps.
  4. Check every proxy in front of the app If nginx, a load balancer or a CDN sits in front of your application, read its logs too. A proxy that gives up on a slow or oversized upstream reply may close the browser connection without sending anything.
  5. Review recent changes Think about what changed recently: a deployment, plugin update, configuration edit or certificate change. Roll back with your tested procedure if the timing matches.

Is it the website or me?

If the error appears on several devices and on different networks, the website is almost certainly the cause. If it shows up on only one device, look at that device: security software, an extension, a VPN or a proxy.

Our check works as a quick second opinion from outside your own network.

How it differs from ERR_CONNECTION_CLOSED and 502

With ERR_EMPTY_RESPONSE the connection worked and the request was sent, but not one byte of answer came back. ERR_CONNECTION_CLOSED describes a connection that was closed in a way the browser did not expect.

A 502 Bad Gateway is different again. There a server did answer, and its answer says that a server behind it failed.

For developers: what happens technically

Chromium uses this code when the server closes the connection without sending any data, so there is no status line and no headers. Typical triggers are a worker that crashes in the middle of a request, a process killed for using too much memory, or a proxy that drops its upstream connection silently.

Common questions

Is ERR_EMPTY_RESPONSE a sign of a virus?

Not by itself. It means no data came back from the server. Security software can cause it on your side, but the error is not proof of an infection.

Why does the site work on my phone but not on my laptop?

Then the website is up and something on the laptop interferes. Check extensions, security software with HTTPS scanning, and VPN or proxy settings on that laptop.

Will clearing my cache fix it?

Rarely. The error is about the live reply from the server, not about stored files. Flushing socket pools or restarting the browser is a faster test.

How long should I wait before trying again?

A few minutes is enough for a normal server restart. If it lasts longer than an hour on several networks, contact the site owner with the time and the exact error text.

Likely causes

  • Common The website software crashed while handling the request. (Website side)
  • Sometimes A security tool on your device or network blocked the reply. (Your side)

Is the website down? Check it now

One measurement point. Results explain what we saw, not a worldwide verdict.

Sources

Last reviewed: