Why It's Difficult to Fix HTTP 500 Internal Server Errors

404 Error screen
Wikimedia Commons

An HTTP 500 internal server error occurs when a Web server is unable to respond back to a network client. While the client is often a Web browser like Internet Explorer, Safari, or Chrome, you can also encounter this error in other Internet applications that use HTTP for network communication.

When this error occurs, client users will see an error message appear on screen inside the browser window or other application, typically after pushing a button or clicking a hyperlink that triggers network requests on the Internet or corporate intranet. The exact message varies depending on which server and application are involved but is almost always a mix of the words "HTTP," "500," "Internal Server" and "Error."

Causes of Internal Server Errors

In technical terms, the error indicates a Web server received a valid request from a client but was unable to process it. The three typical causes of HTTP 500 errors are:

  1. servers overloaded with processing and communication tasks such that they cannot respond to clients in a timely fashion (so-called network timeout issues)
  2. servers misconfigured by their administrators (typically script programming or file permissions issues)
  3. unexpected technical glitches on the Internet connection between client and server

Solutions for End Users

Because HTTP 500 is a server-side error, the average user can do little to fix it on their own. End users should consider these recommendations:

  1. Retry the task or operation. On the small chance that the error was caused by a temporary Internet glitch, it may succeed on a subsequent attempt.
  2. Check the Web site of the server for help instructions. The site may support alternate servers to connect to when one is malfunctioning, for example.
  3. Contact the Web site administrators to notify them of the issue. Many site administrators appreciate being told about HTTP 500 errors as they can be difficult to see on their end. You may also receive a helpful notification back after they resolve it.

Note that none of the three options above actually fix the root cause of the issue. 

Computer professionals sometimes also generically suggest that end users dealing with Web site access issues should (a) clear their browser's cache, (b) try a different browser, and (c) delete all browser cookies from the specific site involved. Such actions are extremely unlikely to resolve any HTTP 500 errors, although they can help with some other error conditions. (The suggestion obviously also does not apply for non-browser applications.)

Conventional wisdom suggests to not reboot your computer unless you encounter the same error when visiting multiple different Web sites and from more than one application. Ideally, you should check the same Web sites from a different device as well. Do not confuse HTTP 500 with other kinds of HTTP errors: While reboots help with issues specific to one client, 500 errors originate with servers.

Tips for Server Administrators

If you administer Web sites, standard troubleshooting techniques should help identify the source of HTTP 500 errors:

  • look for matching error messages in the Web server log files
  • check server load statistics (for CPU, memory, and disk) and examine the logs for network timeouts
  • check the .htaccess, web.config or similar configuration files for any recent modifications that may have introduced logic errors
  • check the site's file and folder permissions (particularly if the errors occur only for requests to certain pieces of content)