Complétez les techniques traditionnelles de pré-capture avec les travailleurs des services.


Mise à jour

Il apparaît dans:
Fiabilité du réseau

La réalisation d'une tâche sur un site implique généralement plusieurs étapes. Par exemple, l'achat d'un produit sur un site Web de commerce électronique peut impliquer la recherche d'un produit, la sélection d'un article dans la liste de résultats, l'ajout de l'article au panier et la finalisation de la transaction en effectuant un paiement.

En termes techniques, parcourir différentes pages signifie faire un demande de navigation. En règle générale, non Je veux utiliser de longue durée Contrôle du cache en-têtesConcepto de Encabezados¿Qué son los Encabezados?Los Encabezados, además conocidos como headers en inglés, son una parte fundamental del diseño de cualquier web, dado que consiste en la parte principal que se ve de esta al acceder, la parte de arriba de cualquier página. El lugar más visible y al que todos los usuarios que visitan un lugar de Internet acceden cuando entran en él, pudiendo tener así una imagen rápida Suite para almacenar en cacheUn caché es un tipo de memoria auxiliar de la que se puede recuperar a alta velocidad con una capacidad de almacenamiento relativamente pequeña. Se encuentra entre la unidad central de procesamiento (CPU) y la memoria principal. Ayuda a evitar el acceso al disco duro o los recálculos complejos almacenando temporalmente ciertos datos y haciéndolos disponibles rápidamente cuando sea necesario. El caché almacena una copia de la petición actual y Suite la respuesta HTMLHTML (Hypertext Markup Language) se usa para estructurar el contenido de texto de un documento web. No sólo se marca el contenido, sino además la meta-información que describe este contenido. Las páginas HTML se almacenan normalmente en el directorio raíz del servidor. Cómo se creó En la era digital, a los usuarios les resulta difícil hallar su camino en las webs y hacer un seguimiento de las estructuras de las Suite para una solicitud de navegación. Normalmente deberían satisfacerse a través de la red, con Cache-Control: pas de cache, pour s'assurer que le HTML, ainsi que la chaîne des requêtes réseau ultérieures, sont (raisonnablement) à jour. Devoir aller à contre-courant du net chaque fois que l'utilisateur accède à une nouvelle page signifie malheureusement que chaque navigation peut être lente; au moins, cela signifie que ce ne sera pas sûrement Rapide.

Pour accélérer ces demandes, si vous pouvez anticiper l'action de l'utilisateur, vous pouvez demander ces pages et ressources à l'avance et les conserver dans le cache pendant une courte période jusqu'à ce que l'utilisateur clique sur ces liens. Cette technique s'appelle la prélecture et est généralement implémentée en ajoutant Balise aux pages, indiquant la ressource à rechercher précédemment.

Dans ce guide, nous explorerons différentes manières dont travailleurs des services il peut être utilisé en complément des techniques traditionnelles de présélection.

Cas de production

Marché libre C'est le plus grand site de commerce électronique d'Amérique latine. Pour accélérer la navigation, ils injectent dynamiquement étiquettes dans certaines parties du flux. Par exemple, sur les pages de liste, ils obtiennent la page de résultats suivante dès que l'utilisateur fait défiler vers le bas de la liste:

mercadolibre-prefetch-6374544

Los archivos precargados se solicitan con la prioridad «más baja» y se almacenan en la caché HTTPEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado Suite ou dans le Cache (dependiendo de si el recurso se puede almacenar en caché o no), durante un período de tiempo que varía según los navigateursConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet Suite. Por ejemplo, a partir de Chrome 85, este valor es de 5 minutos. Los recursos se mantienen durante cinco minutos, después de los cuales el Contrôle du cache les règles de la ressource s'appliquent.

L'utilisation de la mise en cache du service worker peut vous aider à prolonger la durée de vie des ressources de prélecture au-delà de la fenêtre de cinq minutes.

Par exemple, portail sportif italien Virgilio Sport utilise les techniciens de service pour prévisualiser les articles les plus populaires sur votre page d'accueil. Ils utilisent également le API d'informations sur le réseau pour éviter la pré-capture pour les utilisateurs qui sont sur une connexion 2G.

virgilio-sport-logo-8042597

De ce fait, plus de 3 semaines d'observation Virgilio Sport a assisté à l'amélioration des temps de chargement pour la navigation vers les articles. 78%y aumenta el número de impressionsConcepto de Impresiones¿Qué son las Impresiones?Las Impresiones son las visiones o las veces que una publicación, link, texto, imagen o vídeo aparece frente a los ojos de un usuario. Si nos refiriéramos a Google y sus resultados, una impresión sería cada vez que una persona ve una de las webs que aparecen al realizar una búsqueda, sin ingresar siquiera en ella, tan solo viendo cómo aparece mientras baja con el Suite de artículos 45%.

virgilio-sport-prefetch-3369540

Mettre en œuvre la mise en cache avec Workbox

Dans la section suivante, nous utiliserons Workbox pour montrer comment implémenter différentes techniques de mise en cache dans le service worker qui peuvent être utilisées en complément de , voire un remplaçant, déléguant cette tâche entièrement au technicien de service.

Mise en garde: Vous devez prendre des mesures pour vous assurer que l'ajout d'un technicien de service sur votre site ne finit pas par ralentir votre navigation. Démarrer le service worker sans l'utiliser pour répondre à une demande de navigation introduira une petite latence (comme expliqué dans Créer des applications plus rapides et plus résilientes avec les techniciens de service). Vous pouvez atténuer cette surcharge en activant une fonction appelée précharge de navigation, puis en utilisant le réponse du réseau qui a été préchargé dans votre gestionnaire d'événements de récupération.

1. Pré-cachez les pages statiques et les sous-ressources de page

La mise en cache préalable est la capacité de l'agent de service à mettre en cache les fichiers pendant son installation.

La mise en cache semble similaire au préchargement, mais c'est une technique différente. Dans le premier, le service worker trouve et stocke des ressources (généralement des fichiers statiques) pendant son installation et les conserve dans le cache jusqu'à ce qu'une nouvelle version du fichier soit disponible. Dans le second, des ressources sont demandées à l'avance pour l'avoir dans le cache pendant de courtes périodes de temps afin d'accélérer la navigation ultérieure.

En los siguientes casos, la captura previa se utiliza para lograr un objectif¿Qué es un objetivo?En marketing, un objetivo es el resultado que se pretende alcanzar en un periodo de tiempo, a través el uso de los recursos disponibles. Por tanto, se debe formular de una forma clara y hace falta que sea accesible y medible. Suite similar al de la captura previa: hacer que la navegación sea más rápida.

Mise en cache statique de la page

Pour les pages générées au moment de la compilation (par exemple. about.html, contact.html), ou sur des sites complètement statiques, on peut simplement ajouter les documents du site à la liste de précache, afin qu'ils soient déjà disponibles dans le cache à chaque fois que l'utilisateur y accède:

workbox.precaching.precacheAndRoute([
{URLEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo Suite: '/about.html', revision: 'abcd1234'},
]);

Mise en cache des sous-ressources de page

El almacenamiento en caché de los activos estáticos que las diferentes secciones del sitio podrían utilizar (por ejemplo, JavaScriptJavaScript es un lenguaje de programación que funciona en el lado del cliente y con el que las webs pueden ser más funcionales. Incorporación en código HTML El código JavaScript puede ser incrustado en las páginas HTML, para que adquieran funcionalidad. Existen varias opciones. Puede estar entre las etiquetas <SCRIPT> y </SCRIPT>, puede estar contenido en un archivo externo, puede ser un parámetro de las etiquetas HTML, y puede estar Suite, CSSConcepto de CSS¿Qué es el CSS?CSS es un lenguaje de programación que se usa para definir el estilo y el aspecto de un documento que se ha escrito mediante de un lenguaje de etiquetas, como HTML. Conocido además como hojas de estilo en cascada, es el que se emplea para dar colores, indicar tipos de letra o inclusive resaltar aspectos como el espacio entre items para dotar de estilo a Suite, etc.) es una práctica recomendada general y puede dar un impulso adicional en los escenarios de búsqueda previa.

Pour accélérer la navigation sur un site e-commerce, vous pouvez utiliser des balises sur les pages de liste pour prévisualiser les pages de détail des produits pour les premiers produits d'une page de liste. Si vous avez déjà mis en cache des ressources enfants sur la page du produit, cela peut rendre la navigation encore plus rapide.

Pour mettre en œuvre ceci:

  • Ajouter un balise à la page:

 <relier rel="prefetch" href="/phones/smartphone-5x.html" as="document">

  • Ajoutez les ressources enfants de la page à la liste de pré-vérification dans le service worker:

workbox.precaching.precacheAndRoute([
'/styles/product-page.ac29.css',
]);

2. Prolonger la durée de vie utile des ressources préalables à la collecte de fonds

Comme mentionné précédemment, récupère et conserve les ressources dans le cache HTTP pendant une période limitée, après quoi le Contrôle du cache les règles d'une ressource s'appliquent. À partir de Chrome 85, cette valeur est de 5 minutes.

Les techniciens de service vous permettent de prolonger la durée de vie des pages de prélecture, tout en offrant l'avantage supplémentaire de rendre ces ressources disponibles pour une utilisation hors ligne.

Dans l'exemple ci-dessus, vous pouvez compléter le utilisé pour obtenir une page produit avec une stratégie de mise en cache d'exécution Workbox.

Pour mettre en œuvre cela:

  • Ajouter un balise à la page:

 <relier rel="prefetch" href="/phones/smartphone-5x.html" as="document">

  • Implémentez une stratégie de mise en cache d'exécution dans le service worker pour ces types de requêtes:

new workbox.strategies.StaleWhileRevalidate({
cacheName: 'document-cache',
plugins: [
new workbox.expiration.BrancherConcepto de Plugin¿Qué es un Plugin?Un Plugin es un fragmento o componente de código hecho para ampliar las funciones de un programa o de una herramienta. En el ámbito del marketing digital, especialmente dentro del marketing de contenidos, es algo que se utiliza con mucha frecuencia dentro de entornos como WordPress, puesto que sirven al momento de contar con añadidos que hagan mucho más cómoda y completa la experiencia de Suite({
maxAgeSeconds: 30 * 24 * 60 * 60,
}),
],
});

Dans ce cas, nous avons choisi d'utiliser un stratégie obsolète en cours de revalidation. Dans cette stratégie, des pages peuvent être demandées à la fois au cache et au réseau, en parallèle. La réponse provient du cache si disponible, sinon du réseau. Le cache est toujours mis à jour avec la réponse du réseau à chaque requête réussie.

3. Déléguer le recrutement préalable au travailleur de service

Dans la plupart des cas, la meilleure approche consiste à utiliser . L'étiquette est un suggestion de ressources conçu pour rendre la pré-capture aussi efficace que possible.

Dans certains cas, cependant, il peut être préférable de déléguer entièrement cette tâche au technicien de service. Par exemple: pour précharger les premiers produits dans une page de liste de produits rendue côté client, vous devrez peut-être en injecter plusieurs etiquetas dinámicamente en la página, según una respuesta de la APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene Suite. Esto puede consumir momentáneamente tiempo en el hilo principal de la página y dificultar la implementación.

Dans des cas comme celui-ci, utilisez une «stratégie de communication de la page vers le service worker» pour déléguer entièrement la tâche de préchargement au technicien de service. Ce type de communication peut être réalisé en utilisant worker.postMessage ():

page-à-sw-1722362

Les Package de fenêtre Workbox il simplifie ce type de communication, en faisant abstraction de nombreux détails de l'appel sous-jacent en cours.

La prélecture avec la fenêtre Workbox peut être implémentée comme suit:

  • Sur la page: appelez le technicien de service et transmettez le type de message et la liste des URL à effectuer une pré-recherche:

const wb = new Boîte de travail('/sw.js');
wb.S'inscrire();

const prefetchResponse = attendre wb.messageSW({taper: 'PREFETCH_URLS', urls: []});

  • Dans le service worker: implémentez un gestionnaire de messages pour émettre un aller chercher () demande pour chaque URL de rechercher précédemment:

addEventListener('message', (un événement) => {
si (un événement.Les données.taper === 'PREFETCH_URLS') {
}
});