HTTP Status Codes: A Quick Reference Guide

Listen to this Post

Featured Image
HTTP status codes are essential for web developers, DevOps engineers, and cybersecurity professionals. They help diagnose issues, optimize performance, and secure web applications. Below is a detailed breakdown with practical commands and troubleshooting steps.

🔷 1XX – Informational

▸ 100 Continue: The server acknowledges the request headers; the client should proceed with the body.
▸ 101 Switching Protocols: The server agrees to switch protocols (e.g., HTTP to WebSocket).
▸ 102 Processing: Used in long-running requests (common in WebDAV).
▸ 103 Early Hints: Server hints at resources to preload before the final response.

Command to check headers (Linux):

curl -I https://example.com

🔷 2XX – Success

▸ 200 OK: Standard successful response.

▸ 201 Created: Resource successfully created (common in REST APIs).
▸ 202 Accepted: Request accepted but processing isn’t complete.
▸ 204 No Content: Success, but no body returned (common in DELETE requests).
▸ 206 Partial Content: Used for chunked downloads (e.g., video streaming).

Testing with cURL:

curl -X POST https://api.example.com/data -H "Content-Type: application/json" -d '{"key":"value"}'

🔷 3XX – Redirection

▸ 301 Moved Permanently: SEO-critical—update bookmarks and links.

▸ 302 Found: Temporary redirect (may change HTTP method).
▸ 304 Not Modified: Cached response still valid (saves bandwidth).
▸ 307 Temporary Redirect: Forces same HTTP method (safer than 302).

Check redirect chain:

curl -L -v https://example.com 2>&1 | grep -i "Location:"

🔷 4XX – Client Errors

▸ 400 Bad Request: Fix malformed syntax (check JSON/XML).
▸ 401 Unauthorized: Authentication needed (use `-u` in cURL).

▸ 403 Forbidden: Permission denied (check file/folder permissions).

▸ 404 Not Found: Validate URLs (audit broken links).
▸ 429 Too Many Requests: Implement rate limiting (e.g., `nginx` or iptables).

Debugging 403/404:

 Check file permissions (Linux)
ls -la /var/www/html

Test authentication
curl -u user:pass https://api.example.com/secure

🔷 5XX – Server Errors

▸ 500 Internal Error: Check server logs (`/var/log/nginx/error.log`).

▸ 502 Bad Gateway: Proxy/upstream server failure.

▸ 503 Service Unavailable: Server overloaded (scale resources).

▸ 504 Gateway Timeout: Increase timeout in `nginx/apache`.

Log inspection:

tail -f /var/log/nginx/error.log | grep "500"

You Should Know:

  • Rate Limiting with iptables:
    iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
    
  • HTTP/2 Testing:
    curl --http2 -I https://example.com
    
  • Bypass Cache (Force 200):
    curl -H "Cache-Control: no-cache" https://example.com
    

What Undercode Say:

HTTP status codes are the backbone of web communication. Mastering them accelerates debugging and hardening of web apps. For DevOps, automate status code monitoring with tools like `Prometheus` and Grafana. For security, always audit 4XX/5XX responses—they reveal misconfigurations and attack vectors.

Expected Output:

HTTP/2 200 
server: nginx 
content-type: text/html 

Prediction:

As APIs dominate modern apps, expect more granular status codes (e.g., 423 Locked for resource contention). AI-driven debugging tools will auto-resolve common 5XX errors by 2026.

URLs:

References:

Reported By: Bonagirisandeep Http – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

Join Our Cyber World:

💬 Whatsapp | 💬 Telegram