Sunucu yanıtı 204 No Content
HTTP Durum Kodu 204 (No Content)
HTTP durum kodu 204, web geliştirmede önemli bir rol oynamaktadır. Bu kod, sunucuların istemcilere yapılan bir isteğin başarıyla işlendiğini ancak yanıt olarak gönderilecek veri olmadığını bildirmesine olanak tanır.
204 Durum Kodunun Özellikleri
- Tanım: 204 durumu, isteğin başarıyla tamamlandığını fakat içerik sağlamadığını belirtir.
- Kullanım Zamanı: Genellikle, bir kaynak silindiğinde veya güncellendiğinde ve istemcinin yanıt beklemediği durumlarda kullanılır.
- Diğer Durum Kodlarından Farkları:
- 200: Başarılı yanıt ve içerik ile birlikte gelir.
- 204: Başarılı yanıt ancak içerik yoktur.
Pratik Örnekler
Örnek 1: Başarılı İstek - Veri Yok
Açıklama: Bir kaynağın silinmesi işlemi.
fetch('https://api.example.com/resource/1', { method: 'DELETE' })
.then(response => {
if (response.status === 204) {
console.log('Kaynak başarıyla silindi.');
}
});
Örnek 2: Veri Güncelleme - Yanıt Yok
Açıklama: Kullanıcı profilinin güncellenmesi.
import requests
response = requests.put('https://api.example.com/user/1', json={'name': 'Yeni İsim'})
if response.status_code == 204:
print('Profil başarıyla güncellendi.')
Örnek 3: İşlem Onayı - Veri iletme yok
Açıklama: Kullanıcının bir işlemi onaylaması.
<?php
$success = true; // İşlem başarılı ise
if ($success) {
http_response_code(204);
exit;
}
?>
204 Durum Kodunu Kullanırken Yapılan Hatalar ve Düzeltmeler
- Yanlış Kullanım Durumları:
- Yanıt içinde veri gönderilmesi.
- İçerik gerektiren durumlarda 204 kullanılması.
Düzeltmeler
JavaScript
// Hatalı Kullanım
fetch('https://api.example.com/resource', { method: 'DELETE' })
.then(response => response.json()) // Hatalı: Yanıt içeriği bekleniyor
.then(data => console.log(data));
// Doğru Kullanım
fetch('https://api.example.com/resource', { method: 'DELETE' })
.then(response => {
if (response.status === 204) {
console.log('Kaynak başarıyla silindi.');
}
});
Python
# Hatalı Kullanım
response = requests.delete('https://api.example.com/resource')
print(response.json()) # Hatalı: Yanıt içeriği bekleniyor
# Doğru Kullanım
response = requests.delete('https://api.example.com/resource')
if response.status_code == 204:
print('Kaynak başarıyla silindi.')
PHP
<?php
http_response_code(204);
echo json_encode(['message' => 'Başarılı']); // Hatalı: Yanıt içeriği gönderiliyor
?>
// Doğru Kullanım
http_response_code(204);
exit;
204 Durum Kodunu Doğru Kullanma İpuçları
- API Tasarımı İçin Öneriler: 204 durum kodunu kullanırken, istemcinin yanıt beklemediğinden emin olun.
- Test Etme: 204 durum kodunu test ederken, istemcinin yanıt almadan doğru şekilde işlem yapıp yapmadığını kontrol edin.
Özet
HTTP durum kodu 204, sunucuların istemcilere veri olmadan başarılı bir işlem gerçekleştirdiğini bildirmek için etkili bir yoldur. Kullanımında dikkat edilmesi gereken noktalar ve yaygın hatalar, geliştiricilerin doğru şekilde bu kodu uygulamalarını sağlamaktadır. Uygulamalarda doğru kullanım için pratik örnekler ve düzeltmeler, geliştiricilere yol göstermektedir.