Cómo obtener y entregar archivos SXG y los desafíos de la captación previa de recursos secundarios.

Como un Intercambios HTTP firmados (SXG) distribuidor, puede entregar archivos SXG en nombre de los creadores de contenidoEl contenido puede ser muy difícil de definir con precisión. Es una definición que se refiere a las declaraciones contenidas en un documento o publicación de cualquier tipo y puede incluir las tecnologías de la información y la comunicación. Esto cubre todos los tipos de medios como imágenes y texto. A parte de esto, en el campo de la optimización de motores de búsqueda, los términos duplicar contenido, contenido único, más original. Los navegadoresConcepto 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 más web que admiten SXG mostrarán dichos archivos SXG como si fueran entregados por los creadores de contenido original. Esto le permite implementar la precarga entre sitios sin violar la privacidad. Esta guía le muestra cómo distribuir SXG correctamente.

Compatibilidad con varios navegadores

Actualmente, Chrome es el único navegadorUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los más que admite SXG. Consulte la sección Consenso y estandarización de Intercambios HTTP firmados por el origen para obtener información más actualizada.

Obtener archivos SXG

Especifique en su Accept encabezado de solicitud que desea que el servidorLos servidores son ordenadores centrales y potentes dentro del campo de la tecnología de la información que procesan y proporcionan software y archivos en una red. Desde el punto de vista de un cliente, varios ordenadores en una red pueden ponerse en contacto con el servidor central para conseguir la información solicitada. En la arquitectura cliente-servidor, el servidor puede ser un software que proporciona un servicio y se ejecuta en más devuelva un archivo SXG junto con la solicitud:

Accept: application/signed-exchange;v=b3,*/*;q=0.8

Esta guía asume que coloca sus archivos SXG en /var/www/sxg.

Sirve un archivo SXG simple

Adjunte los siguientes encabezadosConcepto 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 más para distribuir un solo archivo SXG:

Content-Type: application/signed-exchange;v=v3
X-Content-Type-Options: nosniff

Configurar nginx:

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 más {
...
types {
application/signed-exchange;v=b3 sxg;
}
add_header X-Content-Type-Options nosniff;

location / {
more_set_headers "Content-Type: application/signed-exchange;v=b3";
alias /var/www/sxg/;
try_files $uri.sxg $uri =404;
autoindex off;
}
...

Cargue la nueva configuración en nginx:

sudo systemctl restart nginx.service

nginx comenzará a servir archivos SXG. Cuando Chrome acceda a su servidor, la dirección del editor de contenido original aparecerá en la barra.

Captación previa de recursos secundarios

La mayoría de las páginas web constan de múltiples subrecursos, como 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 más, 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 más, fuentes e imágenes. El contenido de SXG no se puede cambiar sin la clave privada del creador del contenido. Esto causa problemas cuando el navegador intenta resolver subrecursos.

Por ejemplo, suponga indexUn index o índice es generalmente un directorio en un orden específico que se usa con fines de orientación. En términos de motores de búsqueda, un índice es la lista de páginas web que es emitido por el motor de búsqueda en respuesta a una solicitud de búsqueda del usuario. Información general La lista que se muestra posteriormente de introducir una solicitud de búsqueda específica se llama SERPs (Search Engine más.html.sxg de httpsHTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite determinar una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas. En resumidas cuentas, es la versión segura de el http (Hyper Text Transfer Protocol) Cómo funciona Una conexión HTTP estándar en Internet puede ser fácilmente secuestrada por partes no autorizadas. El propósito de una conexión HTTPS es evitar esto: encriptar más://website.test/index.html tiene un enlaceConcepto de Dominio¿Qué es un Enlace?En Internet, un link, además conocido como enlace o hipervínculo, es cualquier texto o imagen que se encuentra en una página web y en la que el usuario puede pulsar o clicar para ser dirigido a otro contenido distinto. Es el principal medio de “desplazamiento” en la red, puesto que se encuentra presente en prácticamente cualquier portal que visites a día de hoy, inclusive en más a https://website.test/app.js. Cuando el navegador de un usuario recibe el archivo SXG de https://distributor.test/example.com/index.html.sxg, encontrará el enlace a https://website.test/app.js. El navegador puede recuperar https://website.test/app.js directamente en el acceso real, pero no debe hacerse en la fase de precarga para preservar la privacidad. Si el recurso se obtuvo durante la fase de precarga, sería posible para el creador de contenido (website.test) para poder detectar qué distribuidor de contenido (distributor.test) está solicitando el recurso.

linking-7369888

Si el distribuidor quiere servir appConcepto de APP¿Qué es una APP?Una App es todo aquel programa que se ejecuta desde una interfaz teléfono celular, es decir, desde un móvil o una tablet. Consiste en la herramienta principal para cualquier usuario que tenga un teléfono teléfono celular, de todo el software que se mueve en tiendas digitales como Google Play Store o la App Store y que tanto se adentra en cualquier terminal moderno.Es un concepto más.js.sxg de su propio servicio e intenta modificar https://website.test/app.js para ser la versión del distribuidor de ese subrecurso (como https://distributor.test/website.test/app.js.sxg), provocará una discrepancia de firma y hará que el SXG no sea válido.

rewritten-5894715

Para resolver este problema, ahora hay una función experimental de recuperación previa de recursos secundarios SXG en Chrome. Puede habilitarlo en: chrome://flags/#enable-sxg-subresource-prefetching. Para utilizar la captación previa de recursos secundarios, se deben cumplir las siguientes condiciones:

  • El editor debe incrustar una entrada de encabezado de respuesta en SXG, como: link: <https://website.test/app.js>;rel="preload";as="script",<https://website.test/app.js>;rel="allowed-alt-sxg";header-integrity="sha256-h6GuCtTXe2nITIHHpJM+xCxcKrYDpOFcIXjihE4asxk=". Esto especifica el subrecurso que puede ser sustituido por el hash de integridad específico del SXG.
  • El distribuidor debe adjuntar un encabezado de respuesta al atender el SXG, como por ejemplo: link: <https://distributor.test/website.test/app.js.sxg>;rel="alternate";type="application/signed-exchange;v=b3";anchor="https://website.test/app.js". Esto especifica la ruta de app.js y corresponde al subrecurso.

anchor-9859234

El primero es relativamente fácil porque nginx-sxg-module puede calcular hashes de integridad e incrustarlos en encabezados de enlace de respuestas ascendentes. Pero el segundo es más difícil porque el distribuidor de contenido debe conocer los subrecursos especificados en el SXG.

Si no hay otros recursos adicionales que https://website.test/app.js, entonces todo lo que necesita agregar en su configuración de nginx es:

add_header link <https://distributor.test/website.test/app.js.sxg>;rel="alter...

Pero estos casos son raros porque los sitios web típicos constan de una gran cantidad de recursos secundarios. Además, el distribuidor debe adjuntar el encabezado del enlace de anclaje adecuado al entregar un archivo SXG. Actualmente, no existe una manera fácil de resolver este problema, ¡así que permanezca atento a las actualizaciones!

Enviar comentarios

Los ingenieros de Chromium están ansiosos por escuchar sus comentarios sobre la distribución de SXG en [email protected]. También puedes unirte la discusión de especificacioneso Reportar un error al equipo. Sus comentarios serán de gran ayuda en el proceso de estandarización y también ayudarán a abordar los problemas de implementación. ¡Gracias!