Inhoud

    Serverrespons 204 No Content

    Kenmerken van HTTP-statuscode 204

    HTTP-statuscode 204 (No Content) is een belangrijk onderdeel van webontwikkeling, waarmee servers aan klanten kunnen melden dat een aanvraag succesvol is verwerkt, maar dat er geen gegevens zijn om in de reactie te verzenden. Deze statuscode is bijzonder nuttig in scenario's waar een actie is uitgevoerd, maar geen verdere informatie nodig is.

    204 - No Content

    Definitie van status 204

    Statuscode 204 geeft aan dat de server de aanvraag heeft ontvangen en begrepen, maar geen inhoud hoeft terug te sturen. Dit kan handig zijn om bandbreedte te besparen en de client te laten weten dat de actie is voltooid.

    Wanneer statuscode 204 te gebruiken

    • Bij het verwijderen van een bron.
    • Bij het bijwerken van gegevens zonder dat er nieuwe gegevens nodig zijn.
    • Bij bevestigingen van acties die geen teruggegeven inhoud vereisen.

    Verschil met andere statuscodes

    Statuscode Betekenis Situatie
    200 OK Een succesvolle aanvraag met inhoud in de reactie.
    204 No Content Een succesvolle aanvraag zonder inhoud in de reactie.
    404 Not Found De aangevraagde bron is niet gevonden op de server.

    Praktische voorbeelden van het gebruik van statuscode 204

    Voorbeeld 1: Succesvolle uitvoering van een aanvraag zonder teruggegeven gegevens

    Bijvoorbeeld, stel je voor dat een gebruiker een item uit zijn winkelwagentje verwijdert. Een succesvolle verwijdering kan worden bevestigd met een 204-statuscode.

    fetch('/remove-item', { method: 'DELETE' })
        .then(response => {
            if (response.status === 204) {
                console.log('Item succesvol verwijderd.');
            }
        });

    Voorbeeld 2: Gegevens bijwerken met een aanvraag zonder teruggegeven inhoud

    Bij het bijwerken van de gebruikersprofielinformatie kan het handig zijn om een 204-statuscode terug te geven als er geen inhoud nodig is.

    import requests
    
    response = requests.put('/update-profile', data={'name': 'Nieuwe Naam'})
    if response.status_code == 204:
        print('Profiel succesvol bijgewerkt.')

    Voorbeeld 3: Bevestiging van uitvoering van een taak zonder gegevensoverdracht

    Bijvoorbeeld, als een gebruiker een actie bevestigt, zoals het accepteren van voorwaarden, kan een 204-statuscode worden geretourneerd.

    <?php
    header('HTTP/1.1 204 No Content');
    exit;
    ?>

    Fouten bij het gebruik van statuscode 204 en hun oplossing

    Veelvoorkomende fouten die leiden tot onjuist gebruik

    • Gegevens verzenden in de reactie.
    • Onjuist gebruik in situaties waar inhoud vereist is.

    Oplossing in JavaScript

    // Foutieve versie
    fetch('/update', { method: 'POST', body: JSON.stringify({ data: 'some data' }) })
        .then(response => {
            if (response.status === 204) {
                console.log('Actie bevestigd');
            }
        });
    
    // Correcte versie
    fetch('/update', { method: 'POST' })
        .then(response => {
            if (response.status === 204) {
                console.log('Actie bevestigd');
            }
        });

    Oplossing in Python

    # Foutieve versie
    response = requests.post('/update', json={'data': 'some data'})
    if response.status_code == 204:
        print('Actie bevestigd')
    
    # Correcte versie
    response = requests.post('/update')
    if response.status_code == 204:
        print('Actie bevestigd')

    Oplossing in PHP

    <?php
    header('HTTP/1.1 204 No Content');
    echo 'Data verzonden'; // Dit is foutief
    ?>
    
    # Correcte versie
    <?php
    header('HTTP/1.1 204 No Content');
    exit; // Geen uitvoer
    ?>

    Tips voor correct gebruik van statuscode 204

    • Houd rekening met de situatie waarin statuscode 204 wordt gebruikt en zorg ervoor dat er geen inhoud is die moet worden teruggegeven.
    • Test de implementatie van statuscode 204 grondig om te zorgen dat het functioneert zoals bedoeld.
    • Documenteer het gebruik van deze statuscode in de API-specificaties, zodat ontwikkelaars weten wanneer deze moet worden gebruikt.

    Door deze richtlijnen te volgen en te begrijpen wanneer en hoe statuscode 204 moet worden toegepast, kunnen ontwikkelaars efficiëntere en effectievere API's ontwerpen.