Server Error Codes And Meanings

HTTP status codes or Server Error Codes indicate a server’s response status to a HTTP request.

The Internet Assigned Numbers Authority (IANA) maintains the official registry of HTTP status codes.

Server error codes are essential signals from a web server that help communicate the state of a request between a user’s browser and the server hosting the website. When something goes wrong, these codes pop up to tell us what kind of issue occurred.

Most people encounter these in the form of “500 Internal Server Error” or “503 Service Unavailable,” but the list goes far deeper. These codes are part of the HTTP response and are categorized to help developers quickly understand and fix issues.

Understanding these server-side error codes is not just for IT professionals—website owners, digital marketers, and SEO specialists also benefit from this knowledge.

Understanding HTTP Status Code Categories

HTTP status codes are grouped into five major categories:

  • 1xx (Informational): Request received, continuing process.
  • 2xx (Success): Request successfully received, understood, and accepted.
  • 3xx (Redirection): Further action needs to be taken to complete the request.
  • 4xx (Client Error): The request contains bad syntax or cannot be fulfilled.
  • 5xx (Server Error): The server failed to fulfill a valid request.

All HTTP response status codes are separated into five classes or categories. The first digit of the status code defines the class of response, while the last two digits do not have any classifying or categorization role. There are five classes defined by the standard:

Here’s a list of HTTP status codes grouped by their classes for quick reference:


1xx (Informational)

  • 100 Continue: Client should proceed with the request.
  • 101 Switching Protocols: Server agrees to switch protocols (e.g., to WebSocket).
  • 102 Processing: Server is processing the request (WebDAV).
  • 103 Early Hints: Server sends preliminary headers before the final response.

2xx (Success)

  • 200 OK: Standard success response.
  • 201 Created: Resource created (e.g., after POST).
  • 202 Accepted: Request accepted but processing incomplete.
  • 204 No Content: Success, but no response body.
  • 206 Partial Content: Response contains partial data (e.g., for range requests).
  • 207 Multi-Status: Multiple statuses for batch operations (WebDAV).

3xx (Redirection)

  • 301 Moved Permanently: Resource permanently moved to a new URL.
  • 302 Found: Temporary redirect (historically misused for GET changes).
  • 303 See Other: Redirect to another URL (forces GET).
  • 304 Not Modified: Cached version is still valid.
  • 307 Temporary Redirect: Repeat request with same method.
  • 308 Permanent Redirect: Repeat request with same method permanently.

4xx (Client Errors)

  • 400 Bad Request: Malformed request syntax.
  • 401 Unauthorized: Authentication failed/required.
  • 403 Forbidden: Server refuses action (no permission).
  • 404 Not Found: Resource does not exist.
  • 405 Method Not Allowed: HTTP method not supported.
  • 408 Request Timeout: Server timed out waiting.
  • 409 Conflict: Resource state conflict (e.g., edit collision).
  • 410 Gone: Resource is permanently gone.
  • 413 Payload Too Large: Request body too big.
  • 414 URI Too Long: URL exceeds server limits.
  • 415 Unsupported Media Type: Unacceptable payload format.
  • 418 I’m a teapot: April Fools’ joke (RFC 2324).
  • 429 Too Many Requests: Rate-limiting triggered.
  • 451 Unavailable For Legal Reasons: Censorship (e.g., DMCA).

5xx (Server Errors)

  • 500 Internal Server Error: Generic server error.
  • 501 Not Implemented: Unsupported functionality.
  • 502 Bad Gateway: Invalid response from upstream server.
  • 503 Service Unavailable: Server overloaded/maintenance.
  • 504 Gateway Timeout: Upstream server timeout.
  • 505 HTTP Version Not Supported: Unsupported HTTP version.
  • 507 Insufficient Storage: Server out of space (WebDAV).
  • 511 Network Authentication Required: Captive portal login.

Unofficial/Non-Standard Codes

  • 420 Enhance Your Calm: Twitter rate limit (deprecated).
  • 429 Too Many Requests: Modern rate-limiting.
  • 444 No Response: nginx closes connection silently.
  • 499 Client Closed Request: nginx logs client disconnection.
  • 520 Unknown Error: Cloudflare origin server issue.
  • 521 Web Server Down: Cloudflare cannot connect.
  • 530 Site Frozen/Origin DNS Error: Shopify/Pantheon-specific.

Deprecated/Obsolete

  • 306 Switch Proxy: No longer used.
  • 419 Page Expired: Laravel CSRF token failure.
  • Caching Warnings (1xx): Removed in HTTP/1.1 (RFC 9111).

Key Notes:

  • First digit defines the class (e.g., 4xx = client error).
  • 302 vs. 307/303: 302 historically changed POST→GET; 307/303 enforce method semantics.
  • Cloudflare 5xx: Signals issues between Cloudflare and the origin server.

Fixing Common Server Errors

Addressing 5xx errors requires a methodical approach:

1. Internal Server Error (500) Fixes

  • Review server logs
  • Check for recent code changes
  • Restore from a backup

2. Gateway Errors (502 & 504) Fixes

  • Restart web servers
  • Inspect firewall and CDN settings
  • Optimize backend response times

3. Service Unavailable (503) Fixes

  • Scale server resources
  • Delay non-critical background tasks
  • Implement a retry mechanism in your frontend

Using Server Logs and Monitoring Tools

Monitoring server health in real time prevents surprises. Here’s how:

  • Access logs: Track every request made to the server.
  • Error logs: Isolate issues causing 5xx errors.
  • Uptime monitoring: Know immediately when a server fails.
  • APM (Application Performance Management) tools: Tools like Datadog and New Relic highlight which functions, queries, or endpoints are causing the delay.

Preventing Future Server Errors

Preventative measures are often more cost-effective than reactive ones. Consider these strategies:

  • Load balancing: Distribute traffic evenly.
  • Failover systems: Automatically switch to a backup server.
  • Scalable infrastructure: Use cloud platforms with auto-scaling capabilities.
  • Regular maintenance: Apply patches, update software, and monitor capacity.