Estoy haciendo una aplicación de prueba de velocidad de Internet con Node.js. Todo funciona bien, espere la prueba de descarga. Normalmente descargo a 8 Mbits/s, pero cuando intento XHR solicitando un archivo de texto/imagen (alrededor de 256 MByte) en /public/chunk/somefile.txt, por ejemplo, lo descarga en 1 segundo, lo cual es imposible. Luego revisé el registro de progreso:
¿Cómo es que carga la imagen tan rápido? Quiero decir que no está en caché ni nada. De todos modos aquí está el código:
const fileUrl= "/public/chunk/d.jpg"; xhr = new XMLHttpRequest(); xhr.onprogress = (e) => console.log(e, e.loaded - e.total); xhr.onloadend = () => { console.log("end")}; xhr.open("GET", fileUrl, true); xhr.setRequestHeader('Cache-Control','no-cache'); xhr.send();PERO: Aquí está la cosa, si pongo una URL de imagen, por ejemplo: https://upload.wikimedia.org/wikipedia/commons/f/ff/Pizigani_1367_Chart_10MB.jpg . ¡Funciona! ¿Por qué?
Por favor, hágame saber por qué no funciona, lo he estado intentando desde hace 5 horas. Gracias por adelantado.
Si ejecuta el servidor web en una máquina local, la tasa de transferencia no se limita a la tasa que proporciona su ISP en su área para acceder a la WAN.
Si lo prueba con otro dispositivo en la misma red local, 50 MB podrían no ser nada y se transferirán en medio segundo o menos.
Dependiendo de la configuración del hardware y de la red, puede transferir archivos más grandes en segundos, lo que puede brindarle resultados inesperados en las pruebas de velocidad. Puede acelerar la velocidad de descarga en el lado del cliente utilizando las herramientas de desarrollo del navegador o los complementos como se menciona en esta respuesta .