200 OK

The request succeeded. What the body contains depends on the method that was used.

Status

HTTP/1.1 200 OK

Details

200 is the default success response. The meaning of the payload follows the request method: for GET it is the representation of the target resource, for HEAD it is the same headers with no body, for POST it is the result of the action, and for PUT or DELETE it is a status description rather than the resource itself.

A 200 says nothing about the content being correct or complete. Applications routinely return 200 with an error object in the body, which is legal but hostile to caches, monitoring, and retry logic. If the request failed, use the code that says so.

Headers

Common causes

How to fix it

As the client

As the server

Examples

GET /api/orders/8814 HTTP/1.1
Host: api.example.com
Accept: application/json

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 87
ETag: "8f4c1a"
Cache-Control: private, max-age=60

{"id":8814,"status":"active","ips":4,"renews_at":"2026-09-01T00:00:00Z"}

Notes for proxy users

A 200 does not prove a scrape worked. Anti-bot systems commonly answer automated traffic with a 200 carrying a challenge or an empty shell page, so validate content and not just the status line when testing a proxy pool.

Specifications

RFC 9110 §15.3.1

See also