# HTTP Status Codes – What Do 404, 500 and Other Errors Mean?

HTTP Status Codes – What Do 404, 500 and Other Errors Mean? – Web hosting and domain knowledge from NexoraHost.

**Quick answer:** 404, 500 or 502 on your site? Each HTTP status code has a typical cause – from wrong URL to PHP errors or overloaded server.

Every visit to a website triggers a request to the server. The server responds with a status code – a three-digit number that tells you whether everything worked or something went wrong. This overview explains the most common codes and what you can do about them.

**Note:** Detailed guides on troubleshooting can be found in the articles in the left navigation.

## 2xx – Success (everything is fine)

    - **200 OK:** Everything is fine. The page was loaded successfully. You never see this one directly – it's the invisible normal case.

## 3xx – Redirection

    - **301 Moved Permanently:** The page has moved permanently. Browsers and search engines remember the new address.
- **302 Found / 307 Temporary Redirect:** The page is temporarily elsewhere. The browser stays at the old address.

## 4xx – Client Errors (the visitor or their request is the problem)

    - **400 Bad Request:** The server doesn't understand the request – often a broken link or malformed URL.
- **401 Unauthorized:** You need a password or login, but haven't entered one or entered the wrong one.
- **403 Forbidden:** Access denied. The file exists, but you're not allowed to see it. Often a problem with file permissions (chmod) or a missing index file.
- **404 Not Found:** The classic. The requested page or file doesn't exist – deleted, moved or was never there.
- **429 Too Many Requests:** You sent too many requests in a short time. The server slows you down. Often occurs with API rate limits.

## 5xx – Server Errors (the server is the problem)

    - **500 Internal Server Error:** General server error. Something went wrong, but the server doesn't know exactly what. Most common causes: errors in .htaccess, broken PHP script or exhausted resources.
- **502 Bad Gateway:** The server forwarding your request (proxy/gateway) receives an invalid response from the actual server. Often when the target server is overloaded or crashed.
- **503 Service Unavailable:** The server is temporarily unreachable – usually due to maintenance or overload. Normally disappears on its own after a few minutes.
- **504 Gateway Timeout:** The upstream server waited too long for a response. The actual server doesn't respond in time. Common with very slow scripts or database queries.

## Quick Check: Who's at fault?

    
        Code Range
        Meaning
        Fault lies with
    

    
        2xx
        Everything is fine
        Nobody
    

    
        3xx
        Redirection
        Server admin (intentional)
    

    
        4xx
        Client error
        Visitor or their request
    

    
        5xx
        Server error
        Server or application
    

## Most common causes and solutions

**404 Not Found:**

    - Check the link – any typos?
- Was the file moved or deleted?
- Save permalinks in WordPress (Settings > Permalinks > Save Changes)

**500 Internal Server Error:**

    - Rename .htaccess and test if the error disappears
- Check PHP version – too old or too new can cause problems
- Check error log (error_log in webspace or via customer panel)

**503 Service Unavailable:**

    - Wait – often resolved after 1-2 minutes
- Check resources: RAM or CPU at the limit?
- Too many simultaneous visitors?

*Detailed guides on troubleshooting can be found in the articles in the left navigation.*

## Related guides

    - [Set up webspace](/en/webspace/set-up)
- [Change nameservers – domain won't connect](/en/domain/nameserver)
- [DNS not working / propagation](/en/domain/dns-what-is-it)
- [Set up SSL correctly](/en/domain/ssl-einrichten)
- [SPF, DKIM & DMARC (email)](/en/domain/spf-dkim-dmarc)
- [Email with your domain](/en/webspace/mail)
- [Make website faster](/en/webspace/website-schneller-machen)
- [Domain & DNS hub](/en/domain)

*Order webspace: [nexorahost.com](https://nexorahost.com)*
