Troubleshooting of HTTP errors: Difference between revisions
No edit summary |
|||
| Line 7: | Line 7: | ||
__TOC__ | __TOC__ | ||
== | == Troubleshooting HTTP Status Errors == | ||
=== 400 Bad Request === | |||
Root cause: The request itself is malformed. According to the spec, this means "the server cannot or will not process the request due to something perceived to be a client error" — such as invalid syntax, incorrect request message framing, or deceptive request routing. | |||
== 403 Forbidden | Possible fix: | ||
* Review and correct the request headers | |||
=== 403 Forbidden === | |||
See: [[How to fix the 403 forbidden error]] | See: [[How to fix the 403 forbidden error]] | ||
== 404 | === 404 Not Found === | ||
Fix: Verify that the URL is correct. For more details, see | |||
[[404 Not Found]], possible solutions for pages not found". | |||
== | === 405 Method Not Allowed === | ||
== 415 Unsupported Media Type == | Fix: Confirm that the target resource supports the HTTP method you're using. For example, the endpoint may only accept POST requests while you're sending a GET request. | ||
=== 414 Request-URI Too Large === | |||
Fix: Switch from GET to POST so the data is sent in the request body instead of the URL. | |||
=== 415 Unsupported Media Type === | |||
Fix: Explicitly declare the correct Content-Type or Content-Encoding in the request, or access the data directly. For instance, when calling a RESTful API, this error can often be resolved by adding the following header: | |||
<pre> | <pre> | ||
Content-Type: application/json | Content-Type: application/json | ||
</pre> | </pre> | ||
== 429 Too Many Requests == | === 429 Too Many Requests === | ||
* | Root cause: | ||
* The client is hitting the website or API more frequently than the service allows. | |||
Fixes: | |||
* '''Throttle your requests''': Add or increase a delay between requests based on your usage pattern and the service's limits (e.g., pause 1 second between calls). | |||
* '''Check the API rate limits''': Consult the provider's documentation for limits such as Requests Per Minute (RPM) or Requests Per Day (RPD), and find out whether you can request a higher quota. | |||
* '''Use exponential backoff''': Detect HTTP 429 responses in your | |||
application, then retry with progressively longer delays (e.g., 2s → 4s → 8s) until the request succeeds or a maximum retry count is reached. | |||
=== 502 Bad Gateway === | |||
Cause: | Cause: | ||
* | * A failure between upstream network devices/servers — not something the end user can fix directly. | ||
Fixes: | |||
* | * Hard-refresh the page to bypass the browser cache | ||
* | * Wait a moment and try again | ||
== Error 1020: Access Denied == | === Error 1020: Access Denied === | ||
* See | * See the linked guide on resolving Error 1020 (Access Denied) to restore access to your website. | ||
== HTTP Cats or Dogs == | == HTTP Cats or Dogs == | ||
Latest revision as of 16:49, 11 June 2026
HTTP status code
Troubleshooting HTTP Status Errors[edit]
400 Bad Request[edit]
Root cause: The request itself is malformed. According to the spec, this means "the server cannot or will not process the request due to something perceived to be a client error" — such as invalid syntax, incorrect request message framing, or deceptive request routing.
Possible fix:
- Review and correct the request headers
403 Forbidden[edit]
See: How to fix the 403 forbidden error
404 Not Found[edit]
Fix: Verify that the URL is correct. For more details, see 404 Not Found, possible solutions for pages not found".
405 Method Not Allowed[edit]
Fix: Confirm that the target resource supports the HTTP method you're using. For example, the endpoint may only accept POST requests while you're sending a GET request.
414 Request-URI Too Large[edit]
Fix: Switch from GET to POST so the data is sent in the request body instead of the URL.
415 Unsupported Media Type[edit]
Fix: Explicitly declare the correct Content-Type or Content-Encoding in the request, or access the data directly. For instance, when calling a RESTful API, this error can often be resolved by adding the following header:
Content-Type: application/json
429 Too Many Requests[edit]
Root cause:
- The client is hitting the website or API more frequently than the service allows.
Fixes:
- Throttle your requests: Add or increase a delay between requests based on your usage pattern and the service's limits (e.g., pause 1 second between calls).
- Check the API rate limits: Consult the provider's documentation for limits such as Requests Per Minute (RPM) or Requests Per Day (RPD), and find out whether you can request a higher quota.
- Use exponential backoff: Detect HTTP 429 responses in your
application, then retry with progressively longer delays (e.g., 2s → 4s → 8s) until the request succeeds or a maximum retry count is reached.
502 Bad Gateway[edit]
Cause:
- A failure between upstream network devices/servers — not something the end user can fix directly.
Fixes:
- Hard-refresh the page to bypass the browser cache
- Wait a moment and try again
Error 1020: Access Denied[edit]
- See the linked guide on resolving Error 1020 (Access Denied) to restore access to your website.
HTTP Cats or Dogs[edit]
From HTTP Cats
Related websites:
Other possible root causes[edit]
- CDN (Content delivery network)
Mock HTTP status error page tools[edit]
The testing sites that can return 500 and various other HTTP status codes on demand
- The Internet[1]
- httpstatus.io: A bulk checker for HTTP status codes, headers, and redirects, which also offers mock endpoints, e.g. 500
- Postman Echo: A request/response testing service with status code endpoints, e.g. 500
Related pages[edit]
References[edit]
Troubleshooting of ...
- PHP, cUrl, Python, selenium, HTTP status code errors
- Database: SQL syntax debug, MySQL errors, MySQLTuner errors or PostgreSQL errors
- HTML/Javascript: Troubleshooting of javascript, XPath
- Software: Mediawiki, Docker, FTP problems, online conference software
- Test connectivity for the web service, Web Ping, Network problem, Web user behavior, Web scrape troubleshooting
Template