200 OK

The request has succeeded.

The payload sent in a 200 response depends on the request method. For the methods defined by this specification, the intended meaning of the payload can be summarized as:

  • GET a representation of the target resource
  • HEAD the same representation as GET, but without the representation data
  • POST a representation of the status of, or results obtained from, the action;
  • PUT DELETE a representation of the status of the action;
  • OPTIONS a representation of the communications options;
  • TRACE a representation of the request message as received by the end server.

Aside from responses to CONNECT, a 200 response always has a payload, though an origin server MAY generate a payload body of zero length. If no payload is desired, an origin server ought to send 204 No Content instead. For CONNECT, no payload is allowed because the successful result is a tunnel, which begins immediately after the 200 response header section.

A 200 response is cacheable by default; i.e., unless otherwise indicated by the method definition or explicit cache controls.

Calculating Heuristic Freshness RFC7234 Section 4.2.2

200 OK Source: RFC7231 Section 6.3.1



Rails HTTP Status Symbol :ok

Go HTTP Status Constant http.StatusOK

Symfony HTTP Status Constant Response::HTTP_OK

Python2 HTTP Status Constant httplib.OK

Python3+ HTTP Status Constant http.client.OK

Python3.5+ HTTP Status Constant http.HTTPStatus.OK