¿Existe algún beneficio real táctil de usar la biblioteca alojada de Google jQuery? ¿O simplemente lo descargamos en nuestro servidor?
¿Cuáles son sus opiniones sobre esto?
Comentarios
- Un simple google la búsqueda habría proporcionado la respuesta …
Respuesta
Hay dos beneficios principales al usar una CDN externa como Google para alojar jQuery:
- Es más rápido. Sin duda será ser más rápido que su sitio y probablemente más rápido que cualquier CDN que haya configurado.
- Es posible que ya esté almacenado en caché . Muchos sitios también hacen referencia a jQuery en la CDN de Google, por lo que si visitaron otro sitio antes que el tuyo, ni siquiera necesitarán descargarlo.
Potencial desventajas:
- El dominio puede estar bloqueado (esto es bastante común en lugares como China ). Puede resolver esto si tiene un respaldo local ( vea ver cómo ).
- La fragmentación de los números de versión es bastante alta, por lo que los visitantes de su sitio pueden tener muchas versiones diferentes almacenadas en caché, pero no la que usted hizo referencia ( vea aquí algunas estadísticas recientes ). Sin embargo, esto solo es un problema en la carga de la primera página.
Comentarios
- ¿Puede publicar una referencia sobre cómo configurar un ¿respaldo local?
- Como Zistolen señaló anteriormente, otro beneficio es que descargará en paralelo a sus sitios web otros activos. Es posible que desee agregar eso también a esta excelente respuesta.
- Eso ‘ es un poco engañoso. Los navegadores descargan activos en paralelo independientemente de dónde estén alojados, pero existe un límite en la cantidad de cosas que ‘ descargarán desde el mismo host a la vez.
- Lo omití porque, honestamente, ‘ no está ni aquí ni allá; el archivo puede descargarse en paralelo, pero ‘ también es un Búsqueda de DNS. Además, cualquier diferencia en el tiempo que haga cualquiera de estos es insignificante de todos modos.
- Bastante justo. Pero en conexiones rápidas, ¿no puede resultar en un tiempo de carga total más rápido, ya que se puede usar más » pipe «?
Respuesta
Otro inconveniente:
El uso de una CDN permite al operador de la CDN rastrear los visitantes del sitio. Es por eso que no cuestan dinero.
Comentarios
- Seguimiento seguro, pero no visitantes: ambos jquery ‘ s propia y de Google ‘ s jquery CDN están alojadas en dominios que no ‘ t configuran o usan cookies (esto es probablemente también una optimización del rendimiento), y ‘ no hay información realmente identificable en la solicitud. El proveedor de CDN puede hacerse una idea sobre las direcciones IP y algunas estadísticas sobre las cadenas de agentes de usuario y los referentes. Esto probablemente sea valioso, pero ‘ no representa en sí mismo un gran riesgo para la privacidad (si estos registros estuvieran correlacionados con otra base de datos, digamos anuncios personalizados publicados en momentos similares, entonces tal vez podría ser un medio de seguimiento).
- Creo que se puede dar por sentado (en el caso de Google), que los datos están correlacionados con otras bases de datos, ya que casi todo el mundo usa Google para buscar todo el tiempo. Lo mismo ocurre con las fuentes de Google: recientemente intenté alojar las fuentes en un servidor, pero descubrí que es muy difícil hacerlo. Google no lo prohíbe (código abierto), pero no ‘ no le proporciona los archivos de forma lista para usar: puede compilarlos usted mismo (pero hay no makefile), o puede falsificar solicitudes a los servidores que se utilizan para entregarlas normalmente. Ambos no son factibles para alguien que no sea experto en tecnología.
- Quizás. No ‘ no tengo ninguna información privilegiada, por lo que ‘ es difícil de decir con seguridad. Sin embargo, ‘ estoy seguro de que ‘ tendrá errores y lagunas importantes: la mayoría de los lugares en los que uso Internet tienen NAT y varios bastantes usuarios con máquinas similares (probablemente cadenas UA idénticas) – sería ‘ imposible saber qué solicitud proviene de quién. Y, por supuesto, con adsense y los botones para compartir en redes sociales, pueden tener un medio más confiable casi siempre, así que puedo imaginar que no ‘ se molestan. En cuanto a las fuentes, ‘ las he descargado varias veces, así que no ‘ entiendo muy bien lo que quieres decir con esto de que es difícil.
- Para ser claros: ‘ asumo que la mayoría de las visitas al sitio web que realice pueden y serán rastreadas por los grandes recopiladores de estadísticas en virtud de botones para compartir en redes sociales (bastante generalizados) y anuncios, que están en todas partes. Así que me pregunto qué tan valiosa es la información posiblemente engañosa de las solicitudes js muy almacenadas en caché: yo ‘ estoy apostando, no mucho, por lo que supongo que no ‘ t molestarse en tratar de identificar personalmente a las personas que utilizan JS servido por CDN.
- No está tan almacenado en caché como uno pensaría: al incrustar fuentes de la forma en que Google lo prefiere, insertando un enlace CSS a fonts.googleapis. com, cada vista de página abre una conexión a Google (puede verlas en Firebug). No ‘ importa si se almacena en caché o no. En cuanto a la descarga: ¿Puede indicarme un lugar donde pueda descargar las fuentes en formato eot, woff, ttf y svg de alta calidad (las mismas versiones que ofrece Google, sin convertidores externos)?
Respuesta
El uso de CDN (s) para fragmentar sus dependencias en muchos servidores como este, en esencia, representa una compensación entre el ancho de banda y la latencia, asumiendo que solo le importa sobre el rendimiento.
Por cierto, asumo que la alternativa no es simplemente alojarlo localmente, sino concatenarlo con una solicitud local diferente; por lo general, no hay una buena razón para no concatenar cuando se puede.
Si el ancho de banda es infinito, es mejor que NO participe, porque será tan lento como su servicio más lento, dado que las latencias no son perfectamente predecibles, con suficientes servicios, incluso si son rápidos, solo necesita un poco de mala suerte para causar una carga lenta de la página.
Si la latencia es 0, entonces distribuir su carga entre muchos servidores puede mejorar el ancho de banda utilizando muchos servidores rs (no es tan útil ya que es probable que las limitaciones de ancho de banda estén cerca de los clientes, no de los servidores), pero lo que es más importante, puede reducir ligeramente la cantidad de datos transmitidos al aumentar la efectividad del almacenamiento en caché.
Depende de su escenario, pero generalmente esperaría que la latencia sea más un problema que el ancho de banda, a menos que sus scripts sean increíblemente enormes (que jquery no lo es). En ese momento, normalmente es más rápido alojar jquery como parte de un archivo local concatenado.
Las razones para no alojar localmente son, por ejemplo, cuando pagas por ancho de banda o estás alojando en un servidor lento ( su conexión con el cliente tiene un cuello de botella de su lado, no del cliente), o sabe que sus clientes tendrán un ancho de banda realmente bajo (dsl o módems de gama baja, por ejemplo, el móvil tiende a tener más problemas de latencia que problemas de ancho de banda) , o sus clientes pagan por el ancho de banda (por ejemplo, los dispositivos móviles) y los scripts son una parte tan notable que el almacenamiento en caché menor importa (no es probable).
En cualquier caso: mucho más relevante será si usted » he cubierto los conceptos básicos primero; encabezados de almacenamiento en caché apropiados, concatenación, minificación y gzip (preferiblemente con una alta relación de compresión). Y aquí está el quid: si NO «T haces eso, entonces al menos el CDN lo hará, así que ganará …
TL; DR: Si tiene la concatenación + minificación + gzipping + almacenamiento en caché todo cubierto, entonces servir pequeños scripts localmente es más rápido que desde un CDN a pesar del mejor rendimiento del CDN, pero solo si ha hecho su tarea, posiblemente no en la primera carga de la página, y definitivamente hay excepciones a esta regla.
Comentarios
- Por cierto, hay algunas virutas de bytes ganadas usando solo una solicitud: los encabezados por sí solos ascienden a casi 1 kb, lo que con una carga útil de 28 k no es ‘ t nada. gzip funciona mejor con más contexto, lo que ahorra otros 0,5 kb. Los gastos generales de TCP, DNS y HTTPS pueden agregue fácilmente un KB aquí o allá, y peor aún, RTT ‘ s. Ese ‘ s por qué para archivos pequeños como este un CDN es un no como más rápido que pueda pensar.
Responder
El uso de la biblioteca alojada en jQuery de Google permite que su página sea cargado más rápido. De hecho, la biblioteca se carga al mismo tiempo que su página en lugar de después.
Comentarios
- Pero, ¿cómo afecta la carga de la página?
- Las bibliotecas locales también se cargan mientras se carga la página: en ambos casos, la descarga del activo comienza cuando el navegador (moderno) ve el fragmento de código que activa la descarga, lo que generalmente ocurre antes de que se descargue todo el documento. . Vea esta captura de pantalla de Firebug para ver un ejemplo