Obsah

    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.

    204 - No Content

    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

    1. 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.');
              }
          });
    2. 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.')
    3. 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