Troubleshooting of HTTP errors: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(27 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__


== 404 File Not Found ==
== Troubleshooting HTTP Status Errors ==
[[404 Not Found | 找不到網頁的可能解決方法]]
 
=== 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.
 
Possible fix:
* Review and correct the request headers
 
=== 403 Forbidden ===
 
See: [[How to fix the 403 forbidden error]]
 
=== 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 ===
 
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.


== 405 Method Not Allowed Error ==
=== 414 Request-URI Too Large ===
解決方法:檢查存取的文件或資源支援呼叫使用的 HTTP protocol <ref>[https://dotblogs.com.tw/cotton/2018/03/01/132336 使用Http Post呼叫api卻收到405 method not allowed | 攻城獅的學習筆記 - 點部落]</ref>,例如限制使用 POST ,卻使用 GET 存取。


== 415 Unsupported Media Type ==
Fix: Switch from GET to POST so the data is sent in the request body instead of the URL.


解決方法:「於請求中設置的 {{kbd | key=Content-Type}} 或 {{kbd | key=Content-Encoding}} 或對資料的直接訪問」。參考資料:[https://developer.mozilla.org/zh-TW/docs/Web/HTTP/Status/415 415 Unsupported Media Type - HTTP | MDN]
=== 415 Unsupported Media Type ===


例如:RESTful API 遇到該錯誤,可能解決方式是 HTTP Headers 加入
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>
Line 21: Line 41:
</pre>
</pre>


: https://http.cat/200.jpg
=== 429 Too Many Requests ===
: [https://http.cat/ HTTP Cats]


Related websites
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:
* 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 ===
* See the linked guide on resolving Error 1020 (Access Denied) to restore access to your website.
 
== HTTP Cats or Dogs ==
 
<div style="zoom: 0.4;">
https://http.cat/200.jpg
</div>
From [https://http.cat/ HTTP Cats]
 
Related websites:
* [https://httpstatusdogs.com/ HTTP Status Dogs]
* [https://httpstatusdogs.com/ HTTP Status Dogs]


References
== Other possible root causes ==
* CDN (Content delivery network)
 
== Mock HTTP status error page tools ==
The testing sites that can return 500 and various other HTTP status codes on demand
 
* [https://the-internet.herokuapp.com/status_codes The Internet]<ref>[https://stackoverflow.com/questions/24736134/is-there-a-website-that-returns-500-and-other-http-response-codes-for-testing httpresponse - Is there a website that returns 500 (and other) HTTP response codes for testing? - Stack Overflow]</ref>
* [https://httpstatus.io/ httpstatus.io]: A bulk checker for HTTP status codes, headers, and redirects, which also offers mock endpoints, e.g. [https://mock.httpstatus.io/500 500]
* [https://www.postman.com/postman/published-postman-templates/documentation/ae2ja6x/postman-echo Postman Echo]: A request/response testing service with status code endpoints, e.g. [https://postman-echo.com/status/500 500]
 
== Related pages ==
 
* [[Troubleshooting of curl errors]]
* [[Test connectivity for the web service]]
 
== References ==


<references />
<references />
Line 33: Line 95:
{{Template:Troubleshooting}}
{{Template:Troubleshooting}}


[[Category:Programming]]
[[Category: Web server]] [[Category:Programming]] [[Category:Web scraping]]

Latest revision as of 16:49, 11 June 2026


icon_scale_pencil.png This article "Troubleshooting of HTTP errors" is still being written. If there are any incomplete parts, you are welcome to directly edit them. 這篇文章「Troubleshooting of HTTP errors」內容還在撰寫中,如果有不完整的部分,歡迎你直接動手修改


HTTP status code

🌐 Switch language: EN, 漢字


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]

200.jpg

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

Related pages[edit]

References[edit]


Troubleshooting of ...

Template