Al ver las imágenes en google images, uno podría accidentalmente hacer clic en "guardar imagen como", o "ver imagen" (lo que a veces también provoca una descarga). Esto abre una ventana que le pregunta si desea descargar dicho archivo. Sin embargo, si cancela antes de que se guarde algo, ¿esto todavía se ve como una descarga desde el lado del "servidor"? Como no estoy muy versado en este tema, mi uso del "servidor" solo cubre cualquier entidad que pueda registrar / guardar dicha actividad.
21
Respuestas:
Visto desde el lado del servidor, hay absolutamente no diferencia técnica entre "transferir para ver en una ventana del navegador" y "descargar para almacenamiento".
Tal vez un servidor proporcionará una vista previa (más pequeña) y la imagen real (más grande) para descargar, y puede distinguir a cuál se ha accedido. Pero puede registrar (y registrar) solo el acceso a estos archivos, la dirección IP de la que proviene la solicitud, una "cadena de identificación" genérica del software del navegador: no La intención de un cliente.
Pero el acceso a archivos no lo hace siempre resultado de la interacción humana con una computadora cliente. Por un lado, los navegadores almacenan imágenes y otros datos del sitio web en su sistema, incluso si ni siquiera usa "guardar imagen como ...". Por otro lado, muchos navegadores incluso "siguen enlaces" (es decir, ¡descargan cosas!) por adelantado , para agilizar la navegación. La memoria caché del navegador incluso podría entrar en su copia de seguridad local de esa manera, ¡incluso si nunca ha accedido a estos archivos de forma intencional!
Finalmente, usar "guardar como" y cancelar (no seleccionar un nombre de archivo de destino) puede o no iniciar una descarga, según la implementación del navegador que esté utilizando.
fuente
Content-Disposition
Encabezado HTTP :inline
indica una vista en el navegador,attachment
una descargacurl https://www.google.com/ -H 'User-Agent: I am really a web browser, trust me' >> /dev/null
;)Si bien el servidor HTTP no ve la descarga cancelada, es posible que haya un código Javascript en la página que controla dichos eventos.
Javascript tiene controladores de eventos que se pueden usar para detectar un clic derecho en la imagen, y es muy probable que uno pueda monitorear otros movimientos del mouse para adivinar qué opción realiza en el menú emergente. Después de eso, el script puede enviar fácilmente la información al servidor inmediatamente, o almacenarla en el almacenamiento del navegador local y enviarla más tarde.
En el caso específico de la búsqueda de imágenes de Google, el Javascript en esa página tiene múltiples controladores que escuchan los eventos del mouse. Sin embargo, el código está ofuscado, por lo que no es fácil saber qué tipo de monitoreo hace.
fuente
HEAD
Solicitud HTTP en lugar de unaGET
.Esto depende del servidor.
El servidor podría registrarse cuando se inicia la descarga (piénselo, debe saberlo porque sugiere un nombre).
El servidor también podría realizar un seguimiento de cuántos bytes se transfirieron y si / cuando se cerró la conexión, lo que puede mostrar si la carga completa se completó.
También hay otras posibilidades, como la reanudación de descargas y descargas multiproceso, pero de nuevo, el servidor podría saber y registrar todo esto.
Tenga en cuenta que en el caso particular de hacer clic con el botón derecho y descargar una imagen, es posible que la descarga no se registre como una descarga debido al almacenamiento en caché del lado del cliente.
fuente
Content-Disposition: attachment; filename="…"
para que el navegador muestre el aviso de descarga, entonces incluso al cancelar la descarga, el servidor sabrá acerca de la solicitud, y probablemente incluso podrá distinguir que la descarga fue cancelada.Si ... se cancela antes de que se guarde algo, ¿el "servidor" notifica / registra esto como una descarga?
Un servidor remoto no debería notar ninguna actividad de descarga ya que no se ha iniciado ninguna descarga.
Sin embargo, un servidor remoto Sabe que ya has descargado la imagen. para mostrarlo en su navegador ... y una copia estará en el caché de su navegador ...
Cualquier "entidad" que supervise su máquina local directamente podría registrar algo relacionado con esa actividad.
fuente
Content-Disposition
encabezado contendrá el nombre del archivo real.Content-Disposition
encabezado (ya mencionado un par de veces), lo que significa una solicitud debe hacerse primero Además, los navegadores pueden y comienzan la descarga de la carga útil antes de que haya elegido un directorio de destino.