HTTPQUERY
Bahasa Indonesia

204 No Content

Penggunaan

Kode status 204 No Content dikembalikan sebagai respons terhadap operasi POST, PUT, atau DELETE yang tidak mengharapkan adanya body pesan. Sebagian server justru mengembalikan 200 dengan body kosong dan Content-Length bernilai 0.

Kasus penggunaan praktisnya adalah hasil pengiriman formulir ketika pengguna menekan tombol “Save”. Server menyimpan perubahan tersebut dan mengandalkan klien untuk memberi tahu pengguna bahwa operasi berhasil.

Server tidak boleh menyertakan body pesan pada respons 204. Header seperti Cache-Control dan ETag tetap dikirim dan berlaku untuk dokumen yang diidentifikasi oleh permintaan tersebut.

Status terkait 205 Reset Content juga tidak mengembalikan body, tetapi sebagai tambahan menginstruksikan klien untuk menyetel ulang tampilan dokumen (misalnya, mengosongkan formulir setelah pengiriman). Sebuah GET bersyarat mengembalikan 304 untuk menandakan bahwa sumber daya tidak perlu diambil kembali.

Catatan

DELETE yang mengembalikan 204 adalah pola paling umum untuk penghapusan sumber daya sederhana yang tidak memerlukan body respons. Kembalikan 200 jika respons menyertakan detail konfirmasi atau representasi sumber daya yang dihapus. PUT yang mengembalikan 204 umum dipakai ketika pembaruan berhasil dan klien tidak perlu menerima kembali representasi yang telah diperbarui. 204 berarti “berhasil, tidak ada yang perlu ditampilkan” sedangkan 404 berarti “sumber daya tidak ditemukan.” Kueri koleksi yang kosong mengembalikan 200 dengan array kosong, bukan 204.

Dampak SEO

Google tidak dapat memproses respons 204 karena tidak ada konten yang diterima. URL yang secara konsisten mengembalikan 204 tidak akan muncul pada hasil pencarian.

Contoh

Klien mengirim (POST) data XML ke server untuk mendefinisikan sebuah pekerjaan. Server merespons dengan mengonfirmasi bahwa data diterima dan pekerjaan telah selesai. Tidak ada konten yang perlu dikembalikan, sehingga kode status 204 No Content menjadi pilihan yang tepat.

Permintaan

POST /job HTTP/1.1
Host: example.com
Content-Type: application/xml
Content-Length: 68

<?xml version="1.0"?>
<job>
  <id>125</id>
  <task>G01</task>
</job>

Respons

HTTP/1.1 204 No Content

Referensi kode

.NET

HttpStatusCode.NoContent

Rust

http::StatusCode::NO_CONTENT

Rails

:no_content

Go

http.StatusNoContent

Symfony

Response::HTTP_NO_CONTENT

Python3.5+

http.HTTPStatus.NO_CONTENT

Java

java.net.HttpURLConnection.HTTP_NO_CONTENT

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_NO_CONTENT

Angular

@angular/common/http/HttpStatusCode.NoContent