Optimización del ancho de banda usando el encabezado ETag
Cuando tienes un feed que cambia con menos frecuencia de lo que está programado para la actualización automática de tu proyecto, volver a descargar toda la alimentación en cada actualización sería un desperdicio. Podría retrasar innecesariamente tu proyecto, y puede ser que se traduzca en gastos innecesarios de salida con tu proveedor de hosting.
Para evitar descargas innecesarias, puedes activar la optimización del ancho de banda para las importaciones de http y https. Cuando esta configuración está activada, seguiremos comprobando tu archivo en cada ejecución, pero si tu servidor indica que el archivo no ha cambiado desde la descarga anterior, entonces no lo volveremos a descargar.
Detalles técnicos
Cuando la optimización del ancho de banda está activada, durante una descarga guardamos el valor del encabezado http del ETag, si tu servidor lo incluye en la respuesta. En la siguiente actualización, incluimos un encabezado http If-None-Match con nuestra petición, que contiene el valor del ETag observado previamente. Si tu servidor responde con el código de estado http "304 No Modificado", entonces sabemos que el archivo no ha cambiado.
Esto significa que para que se aplique la optimización del ancho de banda, tu servidor debe hacer dos cosas:
- Debe incluir el encabezado ETag en su respuesta
- Debe respetar el encabezado de la solicitud de If-None-Match
Los servidores comunes como Apache, Nginx y Amazon S3, soportan esto, por lo que no es necesario tener ningún cuidado especial para aprovechar la optimización del ancho de banda.
Si tu servidor no incluye un encabezado ETag, o si nunca da una respuesta "304 No Modificado", entonces la optimización del ancho de banda no tiene efecto, y descargaremos el archivo completo en cada ejecución.
P&R
¿Cómo puedo saber si la optimización del ancho de banda es efectiva?
Cuando intentamos importar un archivo, pero no ha habido cambios desde la última importación, se puede ver en las actualizaciones de estado de ese archivo de importación:
¿Podrían los datos de Channable quedar obsoletos cuando se active la optimización del ancho de banda?
No, no hay riesgo de que no se actualicen los datos, siempre que tu servidor se comporte correctamente. Channable seguirá comprobando si hay datos más recientes disponibles en cada actualización programada y cada vez que hagas clic en "Actualizar" en la importación, incluso cuando la optimización del ancho de banda esté activada.
¿Hay algún inconveniente en permitir la optimización del ancho de banda?
No, si tu servidor se comporta correctamente, siempre es seguro activar la optimización del ancho de banda. Si tu servidor no soporta las características necesarias para optimizar el ancho de banda, la optimización será ineficaz, pero no será perjudicial.
¿Cuándo debería desactivar la optimización del ancho de banda?
Si tu servidor está mal configurado, o si contiene un error, podría responder con una respuesta "304 No Modificado", incluso cuando tu feed haya cambiado. El error más común es un servidor que envía un valor de ETag constante, que no cambia incluso cuando su feed lo hace. En este caso, los datos en Channable no se actualizarían. Si no puedes resolver esto en tu servidor, puedes desactivar la optimización del ancho de banda en Channable.
¿La optimización del ancho de banda evita todas las descargas innecesarias?
Seguiremos descargando tu feed una vez cada 10 días, incluso si tu servidor indica que el feed no ha cambiado. Para los archivos que cambian con menos frecuencia, esto significa que ocasionalmente descargamos el archivo completo, pero la optimización del ancho de banda sigue ahorrando al menos el 90% de tu ancho de banda.