Tema: caching
-
Desplegar un service worker de forma segura: alcance, cachés versionadas, el worker en espera y un interruptor de emergencia
Un service worker que almacena en caché el HTML puede dejar a los usuarios atados a código antiguo tras un despliegue. Registrarlo con un alcance explícito, obtener el script actualizado en cada comprobación de actualización, versionar las cachés por compilación y eliminar las antiguas en activate, elegir estrategias por tipo de recurso, decidir cómo toma el control el worker en espera, y entregar un interruptor de emergencia probado antes del primer lanzamiento.
-
Recorrido por una tabla de clasificación: eventos de puntuación, un conjunto ordenado derivado y clasificaciones reconstruibles
Un recorrido de diseño para tablas de clasificación: eventos de puntuación con autoridad del servidor y una clave de idempotencia como fuente de verdad, un conjunto ordenado por cada período de la tabla como índice derivado que responde a consultas de top-N y de la posición de un único miembro, reglas de desempate codificadas en la puntuación, límites de período enrutados por el momento en que ocurrió el evento, y reconstrucciones como práctica habitual.
-
Directivas de Cache-Control: max-age, no-store, private y stale-while-revalidate
Cache-Control indica a las caches del navegador y a las compartidas durante cuánto tiempo puede reutilizarse una respuesta y dónde puede almacenarse: max-age y s-maxage fijan la frescura, no-cache obliga a revalidar antes de reutilizar, no-store prohíbe almacenar, private excluye la respuesta de las caches compartidas, y stale-while-revalidate y stale-if-error (RFC 5861) permiten servir contenido obsoleto mientras se actualiza o durante errores. Una respuesta sin directivas aún puede almacenarse en cache de forma heurística.
-
Usar GET condicionales para feeds que cambian
Almacena en cache la representación de un feed junto con su validador y reutilízala correctamente tras un 304, sin mezclar usuarios, idiomas ni variantes de consulta.
Legible por máquina: JSON