Qué es SharedArrayBuffer y por qué necesitas implementar los encabezados COOP/COEP

TL/TR

Si recibiste esta advertencia de Google Search Console y estás confundido, no estás solo. ¿Qué es SharedArrayBuffer y por qué necesita implementar los encabezados COOP/COEP si está utilizando SharedArrayBuffer? SeSharedArrayBuffer es una API web que permite a los procesos de una web y a el subproceso principal del navegador utilizar la misma memoria compartida, en …

Qué es SharedArrayBuffer y por qué necesitas implementar los encabezados COOP/COEP Leer más »

Si recibiste esta advertencia de Google Search Console y estás confundido, no estás solo.

¿Qué es SharedArrayBuffer y por qué necesita implementar los encabezados COOP/COEP si está utilizando SharedArrayBuffer?

mensaje de GSC sobre SeSharedArrayBuffer

SeSharedArrayBuffer es una API web que permite a los procesos de una web y a el subproceso principal del navegador utilizar la misma memoria compartida, en lugar de ir y venir entre el subproceso principal y los procesos de la web, que controlan varias tareas desde el cifrado y el almacenamiento de datos.

Por lo tanto, SharedArrayBuffer es muy útil. Desafortunadamente, también es útil para personas con malas intenciones.

Spectre, una vulnerabilidad web infame, hizo posible que a travez de un sitio web abierto en el navegador para acceder a los datos utilizados por otro sitio web a través de SharedArrayBuffer.

Po r lo tanto, en enero de 2018, SharedArrayBuffer fue desactivado por Chrome y Firefox antes de que se pudieran realizar los cambios necesarios.

Más tarde en 2018, la API fue reintroducida para navegadores de escritorio con algunas correcciones de seguridad en su lugar que hacían imposible introducir para los navegadores móviles.

Finalmente, en 2020, se creó una solución entre navegadores.

Y ahí es donde entran los encabezados COOP/COEP impiden que el navegador cargue recursos de sitios web que no quieren tener ningún recurso cargado por otros sitios web.

Esto se denomina aislamiento entre orígenes. Todo lo que necesita hacer para aislar el origen cruzado del sitio es servir estos encabezados HTTP:

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin

Esta solución funcionará en todos los navegadores, móviles o de otro tipo, y evitará que otros sitios web abiertos en el navegador accedan a sus datos confidenciales.

Debes implementar estos encabezados antes de que Chrome 91 entre en funcionamiento (25 de mayo). Si no puede hacerlo, haga clic a continuación para solicitar una excepción temporal: https://developer.chrome.com/origintrials/#/view_trial/303992974847508481

¿Y qué sucede si no hace que su sitio se aísle?

No podrás utilizar las siguientes funciones:

  • SharedArrayBuffers
  • API de auto-perfilado JS
  • http://performance.now()
  • performance.timeOrigin
  • performance.measureUserAgentSpecificMemory()

Esto es importante si su sitio web es pesado en JS (¡y la mayoría de los sitios web modernos lo son!)

Poder usar memoria compartida reduce drásticamente la cantidad de comunicación navegador-proceso web necesario.

Y si tus competidores pueden utilizarlo y tu no puedes, estás perdiendo rendimiento.

Lectura adicional:

https://web.dev/coop-coep/
https://developer.chrome.com/blog/enabling-shared-array-buffer/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Qué es SharedArrayBuffer y por qué necesitas implementar los encabezados COOP/COEP

Ir arriba