Troubleshooting of HTTP errors: Difference between revisions
| (12 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
HTTP status code | HTTP status code | ||
{{LanguageSwitcher | content = [[Troubleshooting of HTTP errors | EN]], [[Troubleshooting of HTTP errors in Mandarin | 漢字]] }} | |||
__TOC__ | __TOC__ | ||
| Line 7: | Line 9: | ||
== 400 Bad Request == | == 400 Bad Request == | ||
Root cause of 400 Bad Request. HTTP Error 400. The request is badly formed. | |||
* "the server cannot or will not process the request due to something that is perceived to be a client error (for example, malformed request syntax, invalid request message framing, or deceptive request routing)" | |||
Possible solution: | |||
* | * Modify the request headers | ||
== 403 Forbidden Error == | == 403 Forbidden Error == | ||
See: [[How to fix the 403 forbidden error]] | |||
== 404 File Not Found == | == 404 File Not Found == | ||
Solution: Check if the accessed link is correct, see "404 Not Found | Possible solutions for pages not found" | |||
== 405 Method Not Allowed Error == | == 405 Method Not Allowed Error == | ||
Solution: Check if the accessed file or resource supports the HTTP protocol being used. For example, if the resource is restricted to POST requests but you're using GET. | |||
== 414 Request-URI Too Large == | |||
Solution: Change the request protocol to POST instead of GET | |||
== 415 Unsupported Media Type == | == 415 Unsupported Media Type == | ||
Solution: "Set the Content-Type or Content-Encoding in the request or direct access to the data." For example: When encountering this error with RESTful API, a possible solution is to add to the HTTP Headers: | |||
<pre> | <pre> | ||
Content-Type: application/json | Content-Type: application/json | ||
| Line 31: | Line 36: | ||
== 429 Too Many Requests == | == 429 Too Many Requests == | ||
Root Cause: | |||
* Accessing website resources or web service API too frequently | |||
* | |||
Solutions: | |||
* | |||
* '''Adjust the delay time''' based on your usage patterns and the service's limits e.g. Increase the delay time between requests (e.g., add a 1-second pause between each request). | |||
* If accessing a web service API, Please refer to the documentation to understand the API access rate limits, such as: (1) "Requests Per Minute" (RPM) – the maximum number of API requests you can make per minute, or (2) "Requests Per Day" (RPD) – the maximum number of API requests you can make per day. Check if you can request a higher quota limit from the service provider | |||
* '''Implement exponential backoff retry mechanism''': Detect rate limit errors (HTTP 429) in your application. Increase the delay time with each failed retry (e.g., 2 seconds, 4 seconds, 8 seconds). Continue retrying until the request succeeds or maximum retry count is reached. | |||
== 502 Bad Gateway == | == 502 Bad Gateway == | ||
Cause: | |||
* | * Error occurs between network devices, users cannot directly handle it. | ||
Solutions: | |||
* Bypass browser cache, refresh the page | |||
* | * Try reconnecting after a while | ||
* | |||
== Error 1020: Access Denied == | == Error 1020: Access Denied == | ||
* | * See link for understanding how to resolve Error 1020 Access Denied to get your website back online | ||
<pre> | <pre> | ||
| Line 59: | Line 61: | ||
</pre> | </pre> | ||
https://http.cat/200.jpg | |||
From HTTP Cats | |||
Related websites | Related websites: | ||
* [https://httpstatusdogs.com/ HTTP Status Dogs] | * [https://httpstatusdogs.com/ HTTP Status Dogs] | ||
== Other possible root causes == | |||
* CDN (Content delivery network) | |||
== Related pages == | == Related pages == | ||
* [[Troubleshooting of curl errors]] | * [[Troubleshooting of curl errors]] | ||
* [[Test connectivity for the web service]] | |||
== References == | == References == | ||
| Line 75: | Line 81: | ||
{{Template:Troubleshooting}} | {{Template:Troubleshooting}} | ||
[[Category:Programming]] | [[Category: Web server]] [[Category:Programming]] [[Category:Web scraping]] | ||
Latest revision as of 16:55, 17 June 2025
HTTP status code
400 Bad Request[edit]
Root cause of 400 Bad Request. HTTP Error 400. The request is badly formed.
- "the server cannot or will not process the request due to something that is perceived to be a client error (for example, malformed request syntax, invalid request message framing, or deceptive request routing)"
Possible solution:
- Modify the request headers
403 Forbidden Error[edit]
404 File Not Found[edit]
Solution: Check if the accessed link is correct, see "404 Not Found | Possible solutions for pages not found"
405 Method Not Allowed Error[edit]
Solution: Check if the accessed file or resource supports the HTTP protocol being used. For example, if the resource is restricted to POST requests but you're using GET.
414 Request-URI Too Large[edit]
Solution: Change the request protocol to POST instead of GET
415 Unsupported Media Type[edit]
Solution: "Set the Content-Type or Content-Encoding in the request or direct access to the data." For example: When encountering this error with RESTful API, a possible solution is to add to the HTTP Headers:
Content-Type: application/json
429 Too Many Requests[edit]
Root Cause:
- Accessing website resources or web service API too frequently
Solutions:
- Adjust the delay time based on your usage patterns and the service's limits e.g. Increase the delay time between requests (e.g., add a 1-second pause between each request).
- If accessing a web service API, Please refer to the documentation to understand the API access rate limits, such as: (1) "Requests Per Minute" (RPM) – the maximum number of API requests you can make per minute, or (2) "Requests Per Day" (RPD) – the maximum number of API requests you can make per day. Check if you can request a higher quota limit from the service provider
- Implement exponential backoff retry mechanism: Detect rate limit errors (HTTP 429) in your application. Increase the delay time with each failed retry (e.g., 2 seconds, 4 seconds, 8 seconds). Continue retrying until the request succeeds or maximum retry count is reached.
502 Bad Gateway[edit]
Cause:
- Error occurs between network devices, users cannot directly handle it.
Solutions:
- Bypass browser cache, refresh the page
- Try reconnecting after a while
Error 1020: Access Denied[edit]
- See link for understanding how to resolve Error 1020 Access Denied to get your website back online
Content-Type: application/json
From HTTP Cats
Related websites:
Other possible root causes[edit]
- CDN (Content delivery network)
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