200 OK
Penggunaan
Respons 200 OK selalu menyertakan body pesan, meskipun server bebas menetapkan panjang body menjadi nol. Tergantung pada server, hal ini wajar terjadi saat memproses permintaan PUT, DELETE, atau OPTIONS.
Ketika server tidak memiliki konten untuk dikembalikan, kode status 204 lebih tepat digunakan. Untuk permintaan yang membuat sumber daya baru, misalnya POST yang membuat konten, kode status 201 dikembalikan sebagai gantinya.
Dampak SEO
Respons 200 meneruskan konten ke alur pengindeksan Google, tetapi pengindeksan tidak dijamin. Google mengevaluasi konten dan memutuskan secara independen apakah halaman tersebut dimasukkan ke hasil pencarian. Respons 200 pada halaman yang menyatakan kontennya tidak ada atau sudah hilang akan menciptakan soft 404. Terlalu banyak soft 404 mengikis kepercayaan Google terhadap sinyal server situs dan berdampak negatif pada peringkat.
Catatan
DevTools browser menampilkan “200 (from disk cache)” atau “200 (from memory cache)” ketika respons dilayani dari cache lokal tanpa permintaan jaringan. Ini berbeda dari 200 yang dikirim server (perjalanan bolak-balik jaringan penuh) dan dari 304 (server mengonfirmasi cache masih terkini). “200 from cache” berarti max-age pada Cache-Control belum kedaluwarsa, sedangkan 304 berarti browser melakukan validasi ulang ke server.
GET
Respons GET berisi body pesan dari sumber daya yang diminta.
Permintaan
GET /document.pdf HTTP/1.1
Host: example.com
Respons
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 10000
<message body contains the requested PDF document>
HEAD
Respons HEAD berisi header yang sama dengan respons GET, tanpa body pesan.
Permintaan
HEAD / HTTP/1.1
Host: example.com
Respons
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
POST
Respons POST umumnya berisi informasi tentang hasil tindakan atau status kemajuannya.
Permintaan
POST /api/data HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 24
{"name":"example entry"}
Respons
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18
{"success":"true"}
PUT
Respons PUT umumnya berisi informasi tentang hasil tindakan atau status kemajuannya.
Permintaan
PUT /api/data/1 HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 24
{"name":"updated entry"}
Respons
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18
{"success":"true"}
TRACE
Respons TRACE berisi pesan permintaan persis seperti yang diterima server.
Permintaan
TRACE / HTTP/1.1
Host: example.com
Respons
HTTP/1.1 200 OK
Content-Type: message/http
Content-Length: 38
TRACE / HTTP/1.1
Host: example.com
DELETE
Respons DELETE menyertakan indikasi status dari tindakan yang telah diselesaikan.
Permintaan
DELETE /api/data/1 HTTP/1.1
Host: example.com
Respons
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18
{"deleted":"true"}
OPTIONS
Respons OPTIONS menyertakan header Allow yang mencantumkan metode HTTP yang diterima server. Secara opsional, server dapat menjelaskan detail lebih lanjut di body pesan.
Permintaan
OPTIONS / HTTP/1.1
Host: example.com
Respons
HTTP/1.1 200 OK
Allow: GET,HEAD,PUT,OPTIONS
Content-Type: text/plain;charset=UTF-8
Referensi kode
.NET
HttpStatusCode.OK
Rust
http::StatusCode::OK
Rails
:ok
Go
http.StatusOK
Symfony
Response::HTTP_OK
Python3.5+
http.HTTPStatus.OK
Java
java.net.HttpURLConnection.HTTP_OK
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_OK
Angular
@angular/common/http/HttpStatusCode.Ok