Contenuto

    Risposta del server 204 No Content

    Caratteristiche del codice di stato 204

    Il codice di stato HTTP 204 (No Content) è un elemento fondamentale nello sviluppo web, consentendo ai server di informare i client che la richiesta è stata elaborata con successo, ma non ci sono dati da inviare nella risposta. Questo codice è particolarmente utile in situazioni in cui non è necessario restituire alcun contenuto, ma il client deve essere informato che l'operazione è stata completata.

    204 - No Content

    Definizione del codice di stato 204

    Il codice 204 indica che la richiesta è stata elaborata correttamente, ma non ci sono contenuti da restituire. Questo codice è spesso utilizzato in risposta a operazioni come l'eliminazione di risorse o l'aggiornamento di dati, dove il server non ha bisogno di inviare ulteriori informazioni al client.

    Quando utilizzare il codice di stato 204

    Il codice 204 è appropriato quando:

    • Un'operazione di eliminazione è stata completata con successo.
    • I dati sono stati aggiornati senza necessità di restituire una risposta dettagliata.
    • Il server deve confermare un'azione senza inviare dati aggiuntivi.

    Differenze rispetto ad altri codici di stato

    Codice Descrizione Utilizzo
    200 OK La richiesta è stata elaborata con successo e i dati sono stati restituiti.
    204 No Content La richiesta è stata elaborata con successo, ma non ci sono dati da restituire.
    404 Not Found La risorsa richiesta non è stata trovata sul server.

    Esempi pratici di utilizzo del codice di stato 204

    Esempio 1: Esecuzione riuscita della richiesta senza dati restituiti

    Scenario: eliminazione di una risorsa.

    fetch('/api/resource/1', {
        method: 'DELETE'
    }).then(response => {
        if (response.status === 204) {
            console.log('Risorsa eliminata con successo.');
        }
    });

    Esempio 2: Aggiornamento dei dati tramite richiesta senza contenuti restituiti

    Scenario: aggiornamento del profilo utente.

    import requests
    
    response = requests.put('/api/user/profile', json={'name': 'Nuovo Nome'})
    if response.status_code == 204:
        print('Profilo aggiornato con successo.');

    Esempio 3: Conferma dell'esecuzione di un'azione senza trasferimento di dati

    Scenario: conferma delle azioni dell'utente.

    <?php
    // Esempio di conferma di un'azione
    http_response_code(204);
    echo "Azione confermata.";
    ?>

    Errori nell'utilizzo del codice di stato 204 e loro correzione

    Errori comuni che portano all'uso errato

    • Invio di dati nella risposta.
    • Utilizzo errato in situazioni in cui è richiesto un contenuto.

    Correzioni per JavaScript

    // Codice errato
    fetch('/api/resource', {
        method: 'POST',
        body: JSON.stringify({ data: 'test' })
    }).then(response => {
        if (response.status === 204) {
            console.log('Operazione eseguita.');
        }
    });
    
    // Codice corretto
    fetch('/api/resource', {
        method: 'DELETE'
    }).then(response => {
        if (response.status === 204) {
            console.log('Operazione eseguita.');
        }
    });

    Correzioni per Python

    # Codice errato
    response = requests.post('/api/resource', json={'data': 'test'})
    if response.status_code == 204:
        print('Operazione eseguita.')
    
    # Codice corretto
    response = requests.delete('/api/resource/1')
    if response.status_code == 204:
        print('Operazione eseguita.');

    Correzioni per PHP

    <?php
    // Codice errato
    http_response_code(204);
    echo "Dati inviati.";
    
    // Codice corretto
    http_response_code(204);
    ?>

    Consigli per un corretto utilizzo del codice di stato 204

    • Progettare le API in modo che le operazioni che non richiedono un contenuto restituito utilizzino il codice 204.
    • Testare attentamente le risposte delle API per garantire che il codice 204 venga restituito solo quando non ci sono dati da inviare.

    Comprendere e applicare correttamente il codice di stato 204 può migliorare l'efficienza delle comunicazioni tra client e server, evitando confusione e migliorando l'esperienza dell'utente.