files/en-us/web/http/reference/status/200/index.md
The HTTP 200 OK successful response status code indicates that a request has succeeded.
A 200 OK response is cacheable by default.
A 200 OK response has a different meaning and format depending on the HTTP request method.
Here's how they vary for different methods:
GET, except there is no message body.Although possible, successful {{HTTPMethod("PUT")}} or {{HTTPMethod("DELETE")}} requests often do not result in a 200 OK response.
It is more common to see {{HTTPStatus("201", "201 Created")}} if the resource is uploaded or created for the first time, or {{HTTPStatus("204", "204 No Content")}} upon successful deletion of a resource.
200 OK
200 OK for a GET requestIn this example, a successful GET request to https://example.com returns a 200 OK response.
The response includes representation headers and a message body with the HTML content:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 294510
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Fri, 21 Jun 2024 14:18:33 GMT
Etag: "3147526947"
Expires: Fri, 28 Jun 2024 14:18:33 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: ECAcc (nyd/D10E)
X-Cache: HIT
Content-Length: 1256
<!doctype html>
<!-- HTML content follows here -->
200 OK for a POST request in form submissionAssuming a form exists to send data to an endpoint for managing subscriptions at http://example.com/subscribe.
A POST request to subscribe a user may look like the following:
POST /subscribe HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 50
name=Brian%20Smith&email=brian.smith%40example.com
In this example, a response with a 200 OK status could look like this:
HTTP/1.1 200 OK
Content-Type: application/json
{
"message": "User subscription pending. A confirmation email has been sent.",
"subscription": {
"name": "Brian Smith",
"email": "[email protected]",
"id": 123,
"feed": "default"
}
}
{{Specifications}}