HTTP 204 No Content
Kasıtlı olarak boş bir gövdeyle başarı — istek işe yaradı, sadece geri gönderilecek bir şey yok.
HTTP 204 ne anlama gelir
HTTP 204 No Content, tıpkı 200 gibi başarı sinyali verir, ancak yanıtın kasıtlı olarak gövdesi yoktur. DELETE istekleri için, nesneyi döndürmenin gereksiz olacağı PUT/PATCH güncellemeleri için ve beacon veya günlükleme uç noktaları için uygun (idiomatik) yanıttır.
Bir 204'ün gövde içermemesi gerektiğinden, istemci kodunda bir 204 yanıtını JSON olarak ayrıştırmak (örneğin fetch sonrasında response.json() çağırmak) hataya neden olur — çok yaygın bir hatadır. Ayrıştırmadan önce durumu kontrol edin.
204 yanıtlarının yaygın nedenleri
- Bir DELETE isteği kaynağı kaldırdı.
- Bir PUT veya PATCH bir kaynağı güncelledi ve sunucu bunu geri yansıtmamayı tercih etti.
- Yalnızca veri kaydeden bir uç nokta (analitik beacon'ları, sağlık kontrolleri) alımı onayladı.
Geliştiriciler için iyi uygulamalar
- 204 ile asla bir yanıt gövdesi eklemeyin — birçok sunucu ve proxy bunu yaparsanız bağlantıyı kesecektir.
- İstemci kodunda, .json() veya .text() çağırmadan önce durum 204 için dallanma yapın.
- İstemcilerin güncellenmiş temsile ihtiyacı varsa, 204 yerine gövdeyle birlikte 200 döndürün.
Örnek yanıt
HTTP/1.1 204 No Content Tarih: Thu, 02 Jul 2026 10:00:00 GMT
SSS
Boş gövdeli 200 ile 204 arasındaki fark nedir?
Pratikte aynı şekilde davranırlar, ancak 204 açıktır: gövdenin yokluğu kasıtlıdır ve istemciler bir tane ayrıştırmaya çalışmamalıdır.
response.json() neden bir 204'te başarısız oluyor?
Bir 204 yanıtının hiç gövdesi yoktur, dolayısıyla ayrıştırılacak bir şey yoktur. Ayrıştırmadan önce response.status === 204 kontrolü yapın.
DELETE her zaman 204 mü döndürmeli?
En yaygın seçenektir. İstemcilerin neyin silindiğine dair ayrıntılara ihtiyacı varsa, bir onay gövdesiyle 200 döndürmek de geçerlidir.