Lors de la visualisation d'images sur Google Images, on peut accidentellement cliquer sur "Enregistrer l'image sous" ou "Afficher l'image" (ce qui entraîne parfois un téléchargement). Cela ouvre alors une fenêtre vous demandant si vous souhaitez télécharger ledit fichier. Cependant, si vous annulez avant d'enregistrer quoi que ce soit, est-ce toujours considéré comme un téléchargement du côté "serveur"? Comme je ne connais pas très bien ce sujet, mon utilisation de "serveur" ne couvre que l'entité qui pourrait enregistrer / sauvegarder ladite activité.
21
Réponses:
Vu du côté serveur, il n'y a absolument aucune différence technique entre "transférer pour affichage dans une fenêtre de navigateur" et "téléchargement pour stockage".
Peut-être qu'un serveur fournira un aperçu (plus petit) et l'image réelle (plus grande) à télécharger, et pourra distinguer lequel a été consulté. Mais il ne peut enregistrer (et consigner) que l'accès à ces fichiers, l'adresse IP d'où provient la demande, une "chaîne d'identification" générique du logiciel de navigation - et non l'intention d'un client.
Mais l'accès aux fichiers ne résulte pas toujours d'une interaction humaine avec un ordinateur client. D'une part, les navigateurs stockent des images et d'autres données de site Web sur votre système même si vous n'utilisez même pas "enregistrer l'image sous ...". D'un autre côté, de nombreux navigateurs vont même «suivre des liens» (c'est-à-dire: télécharger des choses!) À l' avance , pour accélérer la navigation. Le cache du navigateur peut même pénétrer dans votre sauvegarde locale de cette façon, même si vous n'avez jamais délibérément accédé à ces fichiers!
Enfin, l'utilisation de "enregistrer sous" et l'annulation (ne pas sélectionner un nom de fichier de destination) peut ou non lancer un téléchargement, selon l'implémentation du navigateur que vous utilisez.
la source
Content-Disposition
en-tête HTTP :inline
indique une vue dans le navigateur,attachment
un téléchargement.curl https://www.google.com/ -H 'User-Agent: I am really a web browser, trust me' >> /dev/null
;)Bien que le serveur HTTP ne voit pas le téléchargement annulé, il peut y avoir du code Javascript sur la page qui surveille ces événements.
Javascript a des gestionnaires d'événements qui peuvent être utilisés pour détecter un clic droit sur l'image, et il est très probable que l'on puisse surveiller les autres mouvements de la souris pour deviner quel choix vous faites dans le menu contextuel. Après cela, le script peut facilement envoyer les informations au serveur immédiatement, ou les stocker dans le stockage du navigateur local et les envoyer plus tard.
Dans le cas spécifique de la recherche d'images Google, le Javascript sur cette page a plusieurs gestionnaires qui écoutent les événements de la souris. Cependant, le code est obscurci, il n'est donc pas facile de dire quel type de surveillance il fait.
la source
HEAD
requête HTTP plutôt qu'avec aGET
.Cela dépend du serveur.
Le serveur pourra s'enregistrer au démarrage du téléchargement (pensez-y, il doit le savoir car il suggère un nom).
Le serveur peut également garder une trace du nombre d'octets transférés et si / quand la connexion est fermée, ce qui peut indiquer si le téléchargement est terminé.
Il existe également d'autres possibilités comme la reprise des téléchargements et des téléchargements multithreads - mais encore une fois, le serveur pourrait savoir et enregistrer tout cela.
Notez que dans le cas particulier d'un clic droit et du téléchargement d'une image, il est possible que le téléchargement ne s'enregistre pas du tout en tant que téléchargement en raison de la mise en cache côté client.
la source
Content-Disposition: attachment; filename="…"
pour que le navigateur affiche l'invite de téléchargement, alors même lors de l'annulation du téléchargement, le serveur sera informé de la demande - et peut même même distinguer que le téléchargement a été abandonné.Si ... vous annulez avant que quoi que ce soit ne soit enregistré, le "serveur" le remarque-t-il / l'enregistre-t-il en téléchargement?
Un serveur distant ne doit remarquer aucune activité de téléchargement car aucun téléchargement n'a été démarré.
Cependant, un serveur distant sait que vous avez déjà téléchargé l'image afin de l'afficher dans votre navigateur ... et une copie sera dans le cache de votre navigateur ...
Toute «entité» surveillant directement votre machine locale pourrait enregistrer quelque chose concernant cette activité.
la source
Content-Disposition
tête contiendra le nom de fichier réel.Content-Disposition
tête (déjà mentionné plusieurs fois), ce qui signifie qu'une demande doit être faite en premier. De plus, les navigateurs peuvent commencer et téléchargent le téléchargement de la charge utile avant d'avoir choisi un répertoire de destination.