Odpověď serveru 204 No Content
HTTP status kód 204 (No Content)
HTTP status kód 204 je užitečný nástroj ve webovém vývoji, který serverům umožňuje informovat klienty, že požadavek byl úspěšně zpracován, ale není žádný obsah k odeslání v odpovědi. Tento status kód se často používá v situacích, kdy není potřeba posílat žádná data zpět, a je důležitý pro optimalizaci komunikace mezi klientem a serverem.
Charakteristika status kódu 204
- Definice statusu 204: Kód 204 signalizuje, že požadavek byl úspěšně zpracován, ale server nemá žádný obsah, který by mohl vrátit klientovi.
- Kdy používat status kód 204: Tento kód se obvykle používá v případech, kdy klient provede akci, která nevyžaduje žádný návratový obsah, jako je například odstranění zdroje nebo aktualizace dat.
- Rozdíl od jiných status kódů:
- 200 (OK): Tento kód znamená, že požadavek byl úspěšně zpracován a server vrací data.
- 204 (No Content): Na rozdíl od 200 zde server nevrací žádný obsah, což je užitečné pro snížení přenosu dat.
Praktické příklady použití status kódu 204
-
Příklad 1: Úspěšné provedení požadavku bez vracených dat
Popis scénáře: Odstranění zdroje.
fetch('/api/resource/1', { method: 'DELETE' }) .then(response => { if (response.status === 204) { console.log('Resource deleted successfully.'); } });
-
Příklad 2: Aktualizace dat bez vraceného obsahu
Popis scénáře: Aktualizace profilu uživatele.
import requests response = requests.put('/api/user/profile', json={'name': 'John'}) if response.status_code == 204: print('Profile updated successfully.')
-
Příklad 3: Potvrzení provedení úkolu bez přenosu dat
Popis scénáře: Potvrzení akcí uživatele.
<?php header('HTTP/1.1 204 No Content'); exit(); ?>
Chyby při používání status kódu 204 a jejich oprava
- Obecné chyby:
- Odesílání dat v odpovědi.
- Nesprávné použití v situaci, kde je vyžadován obsah.
-
Oprava na JavaScript:
// Chybné použití fetch('/api/resource', { method: 'POST', body: JSON.stringify({}) }) .then(response => response.json()); // Chyba, zde by neměly být žádné data // Správné použití fetch('/api/resource', { method: 'POST' });
-
Oprava na Python:
# Chybné použití response = requests.post('/api/resource', json={'key': 'value'}) print(response.content) # Chyba, zde by neměly být žádné data # Správné použití response = requests.post('/api/resource') print(response.status_code)
-
Oprava na PHP:
<?php header('HTTP/1.1 204 No Content'); echo json_encode(['message' => 'Success']); // Chyba, zde by neměly být žádné data header('HTTP/1.1 204 No Content'); exit(); ?>
Tipy pro správné použití status kódu 204
- Doporučení pro návrh API: Je důležité jasně definovat, kdy by měl server vracet status kód 204, aby se předešlo zmatku pro uživatele API.
- Jak testovat použití status kódu 204: Používejte nástroje pro testování API, které umožňují kontrolu odpovědí serverů a ověření správného použití status kódů.
Status kód | Popis | Použití |
---|---|---|
200 | OK | Úspěšné zpracování s obsahem |
204 | No Content | Úspěšné zpracování bez obsahu |
404 | Not Found | Požadovaný zdroj nebyl nalezen |