Reference guide and URL tester for HTTP status codes with detailed explanations
All Categories
The server has received the request headers and the client should proceed to send the request body.
When to use:
Used in HTTP/1.1 when sending large request bodies to avoid sending data if the server will reject it.
Common examples:
POST requests with Expect: 100-continue header
101
Switching Protocols
Informational
The server is switching protocols as requested by the client.
When to use:
Protocol upgrade requests like WebSocket connections.
Common examples:
WebSocket handshake
HTTP to HTTPS upgrade
102
Processing
Informational
The server is processing the request but no response is available yet.
When to use:
Long-running operations that need to prevent client timeouts.
Common examples:
WebDAV requests that take time to process
200
OK
Success
The request was successful and the server returned the requested data.
When to use:
Most successful GET, POST, PUT requests where data is returned.
Common examples:
GET request for existing resource
POST request processed successfully
201
Created
Success
The request was successful and a new resource was created.
When to use:
When a new resource is successfully created via POST or PUT.
Common examples:
POST request that creates a new user
PUT request that creates a new file
202
Accepted
Success
The request has been accepted for processing, but processing is not complete.
When to use:
Asynchronous operations where processing happens in the background.
Common examples:
Async processing requests
Batch operations
Email sending
204
No Content
Success
The request was successful but there is no content to return.
When to use:
Successful operations that don't need to return data to the client.
Common examples:
DELETE requests
PUT updates with no response body
OPTIONS requests
206
Partial Content
Success
The server is delivering only part of the resource due to a range header.
When to use:
Range requests for partial content delivery.
Common examples:
Video streaming
File download resumption
Large file partial requests
301
Moved Permanently
Redirection
The resource has been permanently moved to a new URL.
When to use:
Permanent URL changes that should update bookmarks and search engines.
Common examples:
Domain changes
URL structure changes
HTTPS redirects
Troubleshooting tips:
Check if the redirect loop exists
Verify the new URL is correct
Update internal links
302
Found
Redirection
The resource is temporarily available at a different URL.
When to use:
Temporary redirects where the original URL should be used in future requests.
Common examples:
Login redirects
Temporary maintenance pages
A/B testing
Troubleshooting tips:
Check if redirect is actually temporary
Verify redirect target
Look for redirect chains
304
Not Modified
Redirection
The resource has not been modified since the last request.
When to use:
Conditional requests when cached content is still valid.
Common examples:
Cached content validation
Conditional GET requests with If-Modified-Since
307
Temporary Redirect
Redirection
The resource is temporarily available at a different URL, method must not change.
When to use:
Temporary redirects where the HTTP method should be preserved.
Common examples:
POST request temporary redirects
Maintenance mode redirects
308
Permanent Redirect
Redirection
The resource has been permanently moved, method must not change.
When to use:
Permanent redirects where the HTTP method should be preserved.
Common examples:
API endpoint changes
Permanent URL restructuring
400
Bad Request
Client Error
The request could not be understood by the server due to malformed syntax.
When to use:
When the client sends a request that cannot be processed due to client error.
Common examples:
Invalid JSON in request body
Missing required parameters
Malformed URLs
Troubleshooting tips:
Validate request syntax
Check required parameters
Verify content-type headers
Review request body format
401
Unauthorized
Client Error
Authentication is required and has failed or has not been provided.
When to use:
When authentication is required but not provided or invalid.
Common examples:
Missing authentication token
Invalid credentials
Expired session
Troubleshooting tips:
Check authentication credentials
Verify token expiration
Ensure proper authentication headers
Check API key validity
403
Forbidden
Client Error
The server understood the request but refuses to authorize it.
When to use:
When the user is authenticated but doesn't have permission to access the resource.
Common examples:
Insufficient permissions
IP address blocked
Resource access denied
Troubleshooting tips:
Check user permissions
Verify access controls
Review IP restrictions
Check resource ownership
404
Not Found
Client Error
The requested resource could not be found on the server.
When to use:
When the requested resource doesn't exist or has been removed.
Common examples:
Non-existent webpage
Deleted resource
Incorrect URL
Troubleshooting tips:
Verify URL spelling
Check if resource was moved
Review routing configuration
Check database records
405
Method Not Allowed
Client Error
The HTTP method used is not allowed for the requested resource.
When to use:
When the HTTP method is not supported for the specific endpoint.
Common examples:
POST to read-only endpoint
DELETE on protected resource
PUT without update permissions
Troubleshooting tips:
Check allowed HTTP methods
Review API documentation
Verify endpoint configuration
Use OPTIONS to check allowed methods
409
Conflict
Client Error
The request could not be completed due to a conflict with the current state.
When to use:
When the request conflicts with the current state of the resource.
Common examples:
Duplicate resource creation
Version conflicts
Concurrent modifications
Troubleshooting tips:
Check for duplicate entries
Review concurrent operations
Implement proper locking
Use version control
422
Unprocessable Entity
Client Error
The request was well-formed but contains semantic errors.
When to use:
When the request syntax is correct but the data fails validation rules.
Common examples:
Validation errors
Business logic violations
Invalid data relationships
Troubleshooting tips:
Check validation rules
Review data constraints
Verify business logic
Check field formats
429
Too Many Requests
Client Error
The client has sent too many requests in a given amount of time.
When to use:
When implementing rate limiting or when clients exceed usage limits.
Common examples:
API rate limiting
DDoS protection
Quota exceeded
Troubleshooting tips:
Check rate limit headers
Implement exponential backoff
Review usage patterns
Consider caching
500
Internal Server Error
Server Error
The server encountered an unexpected condition that prevented it from fulfilling the request.
When to use:
When the server encounters an unexpected error condition.
Common examples:
Unhandled exceptions
Database connection failures
Configuration errors
Troubleshooting tips:
Check server logs
Review error messages
Verify database connectivity
Check configuration files
Monitor server resources
502
Bad Gateway
Server Error
The server received an invalid response from an upstream server.
When to use:
When acting as a gateway or proxy and receiving invalid responses from upstream.
Common examples:
Proxy server errors
Load balancer issues
Upstream service failures
Troubleshooting tips:
Check upstream servers
Verify proxy configuration
Review load balancer health
Check network connectivity
503
Service Unavailable
Server Error
The server is currently unable to handle the request due to temporary overload or maintenance.
When to use:
When the server is temporarily unable to handle requests.
Common examples:
Server maintenance
Overloaded server
Temporary service shutdown
Troubleshooting tips:
Check server capacity
Review maintenance schedules
Monitor server load
Implement graceful degradation
504
Gateway Timeout
Server Error
The server did not receive a timely response from an upstream server.
When to use:
When acting as a gateway and upstream servers don't respond in time.
Common examples:
Slow database queries
Upstream service timeouts
Network latency issues
Troubleshooting tips:
Check upstream response times
Review timeout configurations
Optimize slow operations
Check network latency
Quick Reference
Status Code Categories:
1xx - Informational
2xx - Success
3xx - Redirection
4xx - Client Error
5xx - Server Error
Most Common Status Codes:
200 OK
Request successful
404 Not Found
Resource doesn't exist
500 Internal Server Error
Server error occurred
301 Moved Permanently
Resource permanently moved
401 Unauthorized
Authentication required
403 Forbidden
Access denied
502 Bad Gateway
Invalid upstream response
Testing Tips:
Use developer tools
Browser DevTools Network tab shows all HTTP responses
Test with curl
Command-line tool for detailed HTTP testing
Check response headers
Headers provide additional context about the response
Monitor response times
Slow responses might indicate server issues
Complete HTTP Status Code Reference & Testing Tool
Our HTTP Status Code Checker provides a comprehensive reference for all HTTP response status codes along with a built-in URL tester to help developers and web administrators diagnose and understand web server responses.
Understanding HTTP Status Codes
HTTP status codes are three-digit numbers returned by web servers to indicate the result of a client's request. These codes are grouped into five categories:
1xx Informational Responses
Informational responses indicate that the request was received and understood, and processing continues:
100 Continue: The server has received the request headers and the client should proceed to send the request body
101 Switching Protocols: The server is switching protocols as requested by the client
102 Processing: The server is processing the request but no response is available yet
2xx Success
Success responses indicate that the client's request was successfully received, understood, and accepted:
200 OK: The request was successful and the server returned the requested data
201 Created: The request was successful and a new resource was created
202 Accepted: The request has been accepted for processing, but processing is not complete
204 No Content: The request was successful but there is no content to return
206 Partial Content: The server is delivering only part of the resource due to a range header
3xx Redirection
Redirection responses indicate that further action needs to be taken by the client to complete the request:
301 Moved Permanently: The resource has been permanently moved to a new URL
302 Found: The resource is temporarily available at a different URL
304 Not Modified: The resource has not been modified since the last request
307 Temporary Redirect: The resource is temporarily available at a different URL, method must not change
308 Permanent Redirect: The resource has been permanently moved, method must not change
4xx Client Errors
Client error responses indicate that the client seems to have made an error:
400 Bad Request: The request could not be understood by the server due to malformed syntax
401 Unauthorized: Authentication is required and has failed or has not been provided
403 Forbidden: The server understood the request but refuses to authorize it
404 Not Found: The requested resource could not be found on the server
405 Method Not Allowed: The HTTP method used is not allowed for the requested resource
409 Conflict: The request could not be completed due to a conflict with the current state
422 Unprocessable Entity: The request was well-formed but contains semantic errors
429 Too Many Requests: The client has sent too many requests in a given amount of time
5xx Server Errors
Server error responses indicate that the server failed to fulfill a valid request:
500 Internal Server Error: The server encountered an unexpected condition
502 Bad Gateway: The server received an invalid response from an upstream server
503 Service Unavailable: The server is currently unable to handle the request
504 Gateway Timeout: The server did not receive a timely response from an upstream server
Common HTTP Status Code Scenarios
Web Development Scenarios
API Development: Use appropriate status codes for different API responses
Authentication Systems: Return 401 for missing auth, 403 for insufficient permissions
Resource Management: Use 201 for creation, 204 for updates with no response body
Error Handling: Implement proper error responses with meaningful status codes
SEO and Website Management
URL Changes: Use 301 redirects for permanent moves, 302 for temporary
Content Updates: Leverage 304 Not Modified for efficient caching
Error Pages: Create custom 404 pages to improve user experience
Server Maintenance: Use 503 Service Unavailable during maintenance
Troubleshooting Common HTTP Errors
404 Not Found Errors
When encountering 404 errors, check:
URL spelling and formatting
File or resource existence
Server routing configuration
Permissions and access controls
500 Internal Server Errors
For 500 errors, investigate:
Server logs for detailed error messages
Database connectivity issues
Code exceptions and syntax errors
Server resource availability
502 Bad Gateway Errors
Bad gateway errors often indicate:
Upstream server problems
Proxy or load balancer issues
Network connectivity problems
Server overload or timeout issues
Best Practices for HTTP Status Codes
For Web Developers
Use semantically correct status codes
Provide meaningful error messages
Implement proper error handling
Test all possible response scenarios
Document API response codes
For System Administrators
Monitor status code patterns
Set up alerts for high error rates
Analyze server logs regularly
Implement proper logging practices
Use status codes for system health monitoring
Testing HTTP Status Codes
Manual Testing Methods
Browser Developer Tools: Check Network tab for response codes
cURL Commands: Test URLs from command line
Online Tools: Use web-based HTTP status checkers
Postman: Test API endpoints with different scenarios
Automated Testing
Unit tests for API responses
Integration tests for complete workflows
Monitoring tools for continuous checking
Load testing to verify error handling
HTTP Status Codes in Different Contexts
REST API Design
REST APIs should use HTTP status codes appropriately:
GET requests: 200 for success, 404 for not found
POST requests: 201 for creation, 400 for validation errors
PUT requests: 200 for updates, 201 for creation
DELETE requests: 204 for successful deletion
Web Applications
Login flows: 401 for invalid credentials
Access control: 403 for insufficient permissions
Form validation: 422 for validation errors
Rate limiting: 429 for exceeded limits
Content Management
Page moves: 301 for permanent redirects
Temporary changes: 302 for temporary redirects
Cache control: 304 for unchanged content
Maintenance: 503 for service unavailable
Advanced HTTP Status Code Concepts
Custom Status Codes
While HTTP defines standard status codes, some applications use custom codes:
Stay within standard ranges when possible
Document custom codes thoroughly
Consider using standard codes first
Ensure client applications can handle custom codes
Status Code Headers
HTTP headers provide additional context for status codes:
Location header for redirects
Retry-After header for 503 responses
Cache-Control for caching-related codes
WWW-Authenticate for 401 responses
Tools and Resources
Testing Tools
cURL for command-line testing
Postman for API testing
Browser DevTools for web debugging
HTTPie for friendly HTTP CLI
Online status code checkers
Monitoring Solutions
Application Performance Monitoring (APM) tools
Website uptime monitors
Log aggregation services
Real User Monitoring (RUM) tools
Our HTTP Status Code Checker tool provides an easy way to look up status codes, understand their meanings, and test URLs directly in your browser. Use it as a quick reference during development or troubleshooting to ensure your applications handle HTTP responses correctly.