When is a download registered as such?

Seen from the server side, there is absolutely no technical difference between "transferring for viewing in a browser window" and "downloading for storage".

Maybe a server will provide a (smaller) preview and the (larger) real image for download, and can distinguish which one has been accessed. But it can register (and log) only the access to these files, the IP address the request came from, a generic "id string" of the browser software - not the intent of a client.

But file access does not always result from human interaction with a client computer. On the one hand, browsers store images and other website data on your system even if you don't even use "save image as...". On the other hand, many browsers even "follow links" (that is: download things!) in advance, to speed up navigation. The browser cache even might get into your local backup that way, even if you never willfully accessed these files!

Finally, using "save as" and cancelling (not selecting a destination filename) may or may not initiate a download, depending on the implementation of the browser you are using.


Since i am not that well versed in this topic, my use of "server" just covers whatever entity might record/watch/save said activity.

While the HTTP server doesn't see the canceled download, there may be Javascript code on the page that monitors such events.

Javascript has event handlers that can be used to detect a right click on the image, and it is quite likely that one could monitor other mouse movements to guess at what choice you make from the popup menu. After that, the script can easily send the information to server immediately, or store it in local browser storage and send it later.

In the specific case of Google Image search, the Javascript on that page does have multiple handlers listening to the mouse events. However the code is obfuscated so it is not easy to tell what kind of monitoring it does.


This is server dependent.

The server would be able to register when the download is started (think about it, it must know because it suggests a name).

The server could also keep track of how many bytes were transferred and if/when the connection closed, which can show if the diwnload completed.

There are also other possibilities like resumed dowloads and multithreaded downloads - but again, the server could know and record all this.

Note that in the particular case of right clicking and downloading an image it is possible that the download would not register as a download at all due to client side caching.