Troubleshooting of HTTP errors: Difference between revisions
(+ 414) |
|||
| (7 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 8: | Line 10: | ||
Root cause of 400 Bad Request. HTTP Error 400. The request is badly formed. | 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)" | * "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 | * Modify the request headers | ||
== 403 Forbidden Error == | == 403 Forbidden Error == | ||
[[How to fix the 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 == | == 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 36: | 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 64: | 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 == | ||
| Line 81: | Line 81: | ||
{{Template:Troubleshooting}} | {{Template:Troubleshooting}} | ||
[[Category:Programming]] | [[Category: Web server]] [[Category:Programming]] [[Category:Web scraping]] | ||
[[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]
See: How to fix the 403 forbidden error
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