HTTP Status Codes
Quick reference for all HTTP status codes.
Frequently Asked Questions
What are the HTTP status code categories?
1xx (Informational) — request received, processing. 2xx (Success) — request received, understood, accepted. 3xx (Redirection) — further action needed. 4xx (Client Error) — bad request or unauthorized. 5xx (Server Error) — server failed to fulfill a valid request. Each category has specific codes with precise meanings.
What is the difference between 301 and 302 redirects?
301 (Moved Permanently) tells browsers and search engines the resource has permanently moved — update all bookmarks and links. 302 (Found) indicates a temporary redirect — the original URL should be used for future requests. For SEO, 301 passes link equity to the new URL; 302 does not.
What does 403 vs 401 mean?
401 (Unauthorized) means the request lacks valid authentication credentials — the user needs to log in or provide a valid API key. 403 (Forbidden) means the server understood the request and the user is authenticated, but they do not have permission to access the resource. Different problems, different solutions.
What causes a 500 Internal Server Error?
500 is a generic server error indicating something went wrong on the server side. Common causes: unhandled exceptions in application code, misconfigured server, database connection failures, or insufficient server resources. The server log typically contains the specific error details — the 500 status alone does not reveal the cause.
What is HTTP 418 "I'm a teapot"?
HTTP 418 was defined in RFC 2324 (Hyper Text Coffee Pot Control Protocol) as an April Fools' joke in 1998. A teapot should return 418 when asked to brew coffee. Despite being a joke, it is a real registered status code and is sometimes used by APIs to indicate deliberate refusal to process a request or as an easter egg.