What it means
The request succeeded. For GET the body contains the resource; for POST it contains the result of the action.
Common causes
- A normal successful request
- An error page served with the wrong status (a "soft 404")
- A cached copy returned by a CDN
How to fix it
As a client or visitor
Read the body. If the body is actually an error message, the server is misreporting status; check the response content as well as the code.
As the site or API owner
Return 200 only for real success. Use 201 for creations, 204 for empty responses and 4xx/5xx for errors so clients, monitors and search engines behave correctly.
Example response
HTTP/1.1 200 OK
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Cache-Control: max-age=60
Content-Type: application/json
{
"id": 42,
"name": "Ada"
} Specification
FAQ
› What is a soft 404?
A missing page that returns 200 with a "not found" message. Search engines treat it as low quality; return a real 404 or 410 instead.
› Should a POST return 200 or 201?
Return 201 Created with a Location header when the POST creates a resource, and 200 when it performs an action and returns a result.