Articulo de referencia

Precarga de enlaces

La precarga de enlaces permite a los navegadores web cargar recursos con anterioridad, lo que acelera tanto la carga como la representación de las páginas web. La precarga se in...

La precarga de enlaces permite a los navegadores web cargar recursos con anterioridad, lo que acelera tanto la carga como la representación de las páginas web. La precarga se introdujo por primera vez en HTML5 .

La precarga se realiza mediante sugerencias en las páginas web. El navegador utiliza estas sugerencias para precargar enlaces. Los recursos que se pueden precargar incluyen: JavaScript , CSS , imágenes, audio, video y fuentes web . Los nombres DNS y las conexiones TCP también se pueden incluir como sugerencias para la precarga. [1] [2]

Precarga en HTML5

Hay dos estándares W3C que cubren la precarga para HTML5:

  • Precarga de enlaces [1]
  • Consejos sobre recursos [2]
    • Sugerencias para el navegador. Las sugerencias más comunes incluyen consultas DNS, apertura de conexiones TCP y renderización previa de páginas.

Métodos HTML5 para sugerencias de precarga:

  • Precarga de enlace estándar (compatible con la mayoría de los navegadores):<link rel="prefetch" href="http://www.example.com/">
  • Prefetch de DNS ( Mozilla Firefox , Google Chrome y otros) [ cita requerida ] :<link rel="dns-prefetch" href="http://example.com/">
  • Pre-renderizado de páginas ( Google Chrome , Internet Explorer y otros) [ cita requerida ] :<link rel="prerender" href="/page/to/prerender">
  • Carga diferida de imágenes ( Internet Explorer ) [ cita requerida ] :<img src="image.jpg" lazyload>
  • Link[3] [4] para encabezados HTTP : Ejemplo a continuación.
Enlace: <//pagead2.googlesyndication.com>; rel=dns-prefetch,
      </js/bootstrap.min.js>; como=script; rel=precarga,
      </ads.html>; rel=pre-render,
      </css/bootstrap.min.css>; as=estilo; rel=precarga

Compatibilidad con navegadores

Histórico

Navegadores modernos

  • Mozilla Firefox admite la precarga de DNS a partir de la versión 3.5. [9]
  • Google Chrome admite la obtención previa de contenido web vinculado mediante "prerenderizado", a partir de la versión  11. [10]
  • Internet Explorer admite la obtención previa de direcciones IP mediante " DNS prefetching", a partir de la versión  9. [11]
    • A partir de la versión 11, Internet Explorer admite el siguiente conjunto de funciones para ampliar sus capacidades de precarga: "prerender", "dns-prefetch" y "lazyload" (solo imágenes). [6]
  • Google es el sitio web más conocido que aprovecha esta función para mejorar la experiencia del usuario. Si se considera que el primer resultado es muy probable que sea el deseado, se asigna como enlace precargable.
    • En concreto, Google implementó "Google Instant Pages" en agosto de 2011, que aprovecha la característica antes mencionada, la finalización predictiva de la búsqueda y la precarga de los resultados de búsqueda a medida que el usuario escribe para mejorar el rendimiento del motor de búsqueda. [12]
  • Bing ha empleado el uso de precarga y precarga desde el lanzamiento de Internet Explorer 11 (octubre de 2013). [6]

Cuestiones y críticas

Un problema inherente a la precarga indiscriminada de enlaces implica el uso incorrecto de métodos HTTP "seguros" . Se dice que las solicitudes HTTP GET y HEAD son "seguras", es decir, un agente de usuario que emite una de estas solicitudes debe esperar que la solicitud no produzca ningún cambio en el servidor receptor. [13] Sin embargo, es común que los operadores de sitios web utilicen estas solicitudes fuera de esta restricción. Los hipervínculos simples (que casi universalmente dan como resultado solicitudes GET) se utilizan a menudo para implementar la funcionalidad de cierre de sesión y verificación de cuenta, por ejemplo, cuando un usuario completa un formulario de creación de cuenta y un servicio automatizado envía un correo electrónico de verificación a la dirección de correo electrónico proporcionada por el usuario.

De manera similar, es perfectamente posible que un servicio de alojamiento proporcione una interfaz web para administrar archivos, incluidos los enlaces que eliminan uno o más archivos. Los usuarios que visitan páginas que contienen este tipo de enlaces (mientras utilizan un navegador que emplea un buscador de enlaces indiscriminado) pueden descubrir que se ha cerrado su sesión o que sus archivos han sido eliminados. [14]

Además, existen varias críticas respecto a las implicaciones de la precarga de enlaces en la privacidad y el uso de recursos:

  • Las cookies instaladas o enviadas a terceros comprometen la privacidad de la Web .
  • Permite esencialmente/casi al límite la instalación de malware de ataque de cero clic a través de 0day simplemente porque se obtiene previamente un enlace que propaga malware.
  • Los usuarios y operadores de sitios web que pagan por la cantidad de ancho de banda que utilizan terminan pagando por el tráfico de páginas que el usuario tal vez no visite, y los anunciantes pueden pagar por anuncios vistos en sitios que nunca se visitan.
  • Las estadísticas web, como el uso del navegador, los referentes de motores de búsqueda y las visitas a páginas , pueden volverse menos confiables debido al registro de visitas a páginas que el usuario nunca vio.
  • Los usuarios pueden estar expuestos a mayores riesgos de seguridad al descargar más páginas o de sitios no solicitados (lo que se agrava aún más a medida que las descargas automáticas se vuelven más avanzadas y diversas).
  • Los usuarios pueden violar las políticas de uso aceptable de su red u organización si la búsqueda previa accede a contenido no autorizado.

En el caso de dispositivos móviles o de usuarios con un ancho de banda limitado, la precarga puede resultar en un gasto costoso e innecesario de un ancho de banda limitado.

Es posible que las implementaciones obtengan previamente enlaces incluso cuando no estén especificados como enlaces de obtención previa.

En el caso de la pre-renderización, Google advierte que un uso indebido puede resultar en el mencionado aumento del uso del ancho de banda, una carga más lenta de otros enlaces y un contenido ligeramente obsoleto. [10]

Véase también

Referencias

  1. ^ ab "Precarga". w3c.github.io . Consultado el 19 de marzo de 2016 .
  2. ^ ab "Resource Hints". w3c.github.io . Consultado el 19 de marzo de 2016 .
  3. ^ Nottingham, M. (2010). "Web Linking". RFC 5988. IETF. doi : 10.17487/RFC5988 . S2CID  367264. Consultado el 19 de marzo de 2016 .
  4. ^ "Resource Hints (Ejemplo 6)". Resource Hints: W3C Working Draft . W3C . Consultado el 31 de octubre de 2016 .
  5. ^ abcdefghijklmnopq "Navegación previa". Steve Souders. 2013-10-07.
  6. ^ abcdef "Cómo acceder al contenido que desea más rápido en IE11". IEBlog, Microsoft. 4 de diciembre de 2013. Archivado desde el original el 12 de mayo de 2014.
  7. ^ "Error 730101: Implementación de prerenderizado en Firefox". Mozilla. 18 de octubre de 2014.
  8. ^ Fisher, Darin; Saksena, Gagan. "Precarga de enlaces en Mozilla: un enfoque basado en servidores" (PDF) . Consultado el 9 de mayo de 2014 .
  9. ^ "Control de la precarga de DNS" . Consultado el 9 de mayo de 2014 .
  10. ^ ab "Guía para desarrolladores web sobre prerenderizado en Chrome" . Consultado el 9 de mayo de 2014 .
  11. ^ "Mejoras en el rendimiento de la red de Internet Explorer 9" . Consultado el 9 de mayo de 2014 .
  12. ^ "Acerca de Google Instant" . Consultado el 9 de mayo de 2014 .
  13. ^ Fielding, Roy ; Gettys, Jim ; Mogul, Jeffrey; Frystyk, Henrik ; Masinter, Larry; Leach, Paul; Berners-Lee, Tim (junio de 1999). "Métodos seguros". Protocolo de transferencia de hipertexto: HTTP/1.1. Grupo de trabajo de redes. IETF . pág. 50. sec. 9.1.1. doi : 10.17487/RFC2616 . RFC 2616 . Consultado el 16 de diciembre de 2009 .
  14. ^ varios (2009). "¿Precarga al pasar el mouse por encima?". Gervase Markham, MozillaZine . Archivado desde el original el 31 de mayo de 2009. Consultado el 16 de diciembre de 2009 .
  • Preguntas frecuentes sobre la precarga de enlaces de Mozilla
  • Prueba de compatibilidad con Prefetch
  • Compatibilidad con pre-render y prefetch en Internet Explorer 11
  • Un complemento de WordPress que implementa la verdadera etiqueta meta de prerender dinámico
Obtenido de "https://es.wikipedia.org/w/index.php?title=Precarga_de_enlaces&oldid=1224984655"