viernes, 6 de mayo de 2011

ahorra tiempo de transferencia con el código 204 No Content

Cuando se hace una petición y se devuelve un 204, se acaba todo, porque básicamente cuando la petición vuelve no se manda “ningún contenido”. ¿Y para qué utilizar esto? Hay un caso en el que se ve todo muy claro.

Muchas veces los contadores de visitas o similares integran en el sitio un pequeño GIF de 1×1, habitualmente, al que se le mandan algunos parámetros. Esto básicamente se usa para recoger estadísticas. La imagen no es que sea una imagen, sino que suele ser algo “programado” que acaba devolviendo una imagen muy pequeña, de pocos bytes… pero ¿qué necesidad hay de devolver información si la imagen simplemente no se muestra?


Esto en vez de devolver el “nada.gif” ¿por qué simplemente no devuelve nada y te ahorras el tiempo que se tarda en descargar información para otras cosas?

Se podría hacer algo como:


Y que este PHP tenga algo similar a:

    <?php
        /*
        [...]
        fwrite();
        [...]
        */
        header("HTTP/1.0 204 No Content");
    ?>

De esta forma, se conseguiría el mismo efecto y se ahorrarían unas décimas de segundo en tiempo de transferencia, a parte de la transferencia en sí.