HTTP Status Code Checker
Reference guide and URL tester for HTTP status codes with detailed explanations
100
Continue
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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.
