Complete reference for HTTP status codes and their meanings with examples and troubleshooting
HTTP Status Codes
Complete reference for HTTP status codes and their meanings with examples and troubleshooting
Search HTTP Status Codes
Search HTTP Status Codes
Enter a status code, name, or category to search
Popular searches:
Status codes divide into five groups based on their first digit, and that grouping is the fastest way to diagnose what went wrong. 1xx is informational — you rarely see these in normal browsing. 2xx means success. 3xx means the resource moved and the client should follow the redirect. 4xx means the client sent something the server can't or won't fulfill. 5xx means the server itself failed. If you're debugging and you see a 4xx, look at your request — the URL, the method, the headers, the body. If you see a 5xx, the request was probably fine but the server has a problem on its end.
The redirects are where people get confused
301 is permanent — search engines transfer link equity and update their index to the new URL. 302 is temporary — search engines keep the original URL indexed, no equity transfer. 307 and 308 are like 302 and 301 respectively, but with the explicit guarantee that the HTTP method and body will be preserved on the redirect. This matters for POST requests: 301 and 302 redirects in practice cause most clients to switch to GET on the new URL, which can silently drop form data. If you're redirecting a form submission endpoint, 307 or 308 is usually the right choice. The 304 Not Modified code is different from all the others — it's not about location, it's about caching. The browser sent a conditional request saying "I already have a cached copy from this date; has it changed?" and the server replied "no, use your cached version."
