Contenido

    Respuesta del servidor 204 No Content

    Característica del código de estado 204

    El código de estado HTTP 204 (No Content) es una respuesta que indica que la solicitud fue procesada exitosamente, pero no hay contenido que devolver al cliente. Este código es crucial para optimizar la comunicación entre el servidor y el cliente, especialmente en situaciones donde el contenido adicional no es necesario.

    204 - No Content

    Definición del estado 204

    El estado 204 se utiliza para indicar que una solicitud ha sido recibida y procesada correctamente, pero que no se envía ningún contenido en la respuesta. Esto puede ser útil para operaciones como la eliminación de un recurso o la actualización de datos donde no se requiere una respuesta adicional.

    Cuándo utilizar el código de estado 204

    • Cuando se elimina un recurso y no se necesita más información.
    • Al actualizar un recurso donde la respuesta no aporta datos adicionales.
    • Para confirmar que una acción del usuario se ha realizado correctamente sin necesidad de retornar información.

    Diferencias con otros códigos de estado

    Código Descripción Uso recomendado
    200 OK - La solicitud fue exitosa y se devuelve contenido. Cuando se requiere retornar datos al cliente.
    204 No Content - La solicitud fue exitosa, pero no hay contenido que retornar. Cuando no se necesita contenido adicional.

    Ejemplos prácticos de uso del código de estado 204

    Ejemplo 1: Ejecución exitosa de una solicitud sin datos retornados

    Un escenario común para el uso del código 204 es la eliminación de un recurso. Por ejemplo, al eliminar un usuario de una base de datos.

    javascript
    fetch('/api/usuarios/123', {
        method: 'DELETE'
    }).then(response => {
        if (response.status === 204) {
            console.log('Usuario eliminado exitosamente.');
        }
    });
    

    Ejemplo 2: Actualización de datos sin contenido retornado

    Otro caso puede ser la actualización del perfil de un usuario, donde se envían los nuevos datos pero no se espera respuesta.

    python
    import requests
    
    response = requests.put('/api/perfil/usuario', json={'nombre': 'Juan'})
    if response.status_code == 204:
        print('Perfil actualizado correctamente.')
    

    Ejemplo 3: Confirmación de la ejecución de una tarea

    El código 204 también puede utilizarse para confirmar que una acción del usuario, como el envío de un formulario, se ha realizado sin necesidad de información adicional.

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

    Errores en el uso del código de estado 204 y su corrección

    Errores comunes que conducen a un uso incorrecto

    • Enviar datos en la respuesta cuando se usa el código 204.
    • Usar el código 204 en situaciones donde se espera contenido.

    Corrección en JavaScript

    javascript
    // Error
    fetch('/api/usuarios/123', {
        method: 'DELETE'
    }).then(response => {
        return response.json(); // Esto es incorrecto
    });
    
    // Corrección
    fetch('/api/usuarios/123', {
        method: 'DELETE'
    }).then(response => {
        if (response.status === 204) {
            console.log('Usuario eliminado exitosamente.');
        }
    });
    

    Corrección en Python

    python
    # Error
    response = requests.put('/api/perfil/usuario', json={'nombre': 'Juan'})
    print(response.json())  # Esto es incorrecto
    
    # Corrección
    response = requests.put('/api/perfil/usuario', json={'nombre': 'Juan'})
    if response.status_code == 204:
        print('Perfil actualizado correctamente.')
    

    Corrección en PHP

    php
    // Error
    header('HTTP/1.1 204 No Content');
    echo json_encode(['mensaje' => 'Acción realizada']); // Esto es incorrecto
    
    // Corrección
    header('HTTP/1.1 204 No Content');
    exit;
    

    Consejos para el uso adecuado del código de estado 204

    • Al diseñar APIs, asegúrate de que el código 204 se utilice en contextos donde no se requiere respuesta.
    • Realiza pruebas exhaustivas para garantizar que el código de estado 204 se utiliza correctamente en situaciones apropiadas.

    El uso correcto del código de estado 204 no solo mejora la eficiencia de las comunicaciones entre el cliente y el servidor, sino que también ayuda a mantener la claridad en la interacción de las API.