При просмотре изображений на изображениях Google можно случайно нажать «сохранить изображение как» или «просмотреть изображение» (что иногда также вызывает запрос на загрузку). Затем откроется окно с вопросом, хотите ли вы загрузить указанный файл. Однако, если вы отмените, прежде чем что-либо будет сохранено, это все еще рассматривается как загрузка со стороны «сервера»? Поскольку я не очень хорошо разбираюсь в этой теме, мое использование «сервера» просто охватывает любую сущность, которая может записать / сохранить указанную деятельность.
21
Ответы:
Со стороны сервера нет абсолютно никакой технической разницы между «передачей для просмотра в окне браузера» и «загрузкой для хранения».
Возможно, сервер предоставит (меньший) предварительный просмотр и (большее) реальное изображение для загрузки и сможет определить, к какому из них был получен доступ. Но он может регистрировать (и регистрировать) только доступ к этим файлам, IP-адрес, с которого поступил запрос, общую «строку идентификатора» программного обеспечения браузера, а не намерение клиента.
Но доступ к файлам не всегда является результатом взаимодействия человека с клиентским компьютером. С одной стороны, браузеры хранят изображения и другие данные веб-сайта в вашей системе, даже если вы даже не используете «сохранить изображение как ...». С другой стороны, многие браузеры даже «следуют по ссылкам» (то есть загружают вещи!) Заранее , чтобы ускорить навигацию. Кэш браузера даже может попасть в вашу локальную резервную копию таким образом, даже если вы никогда не обращались к этим файлам преднамеренно!
Наконец, использование «сохранить как» и отмена (без выбора имени файла назначения) может инициировать или не инициировать загрузку, в зависимости от реализации используемого вами браузера.
источник
Content-Disposition
заголовка HTTP :inline
указывает на просмотр в браузере,attachment
загрузку.curl https://www.google.com/ -H 'User-Agent: I am really a web browser, trust me' >> /dev/null
;)Хотя HTTP-сервер не видит отмененную загрузку, на странице может присутствовать код Javascript, который отслеживает такие события.
В Javascript есть обработчики событий, которые можно использовать для определения щелчка правой кнопкой мыши по изображению, и вполне вероятно, что можно отслеживать другие движения мыши, чтобы угадать, какой выбор вы сделаете из всплывающего меню. После этого скрипт может легко отправить информацию на сервер немедленно или сохранить ее в локальном хранилище браузера и отправить позже.
В конкретном случае поиска изображений Google, Javascript на этой странице имеет несколько обработчиков, слушающих события мыши. Однако код запутан, поэтому нелегко определить, какой тип мониторинга он выполняет.
источник
HEAD
HTTP-запросом, а неGET
.Это зависит от сервера.
Сервер сможет зарегистрироваться, когда начнется загрузка (подумайте об этом, он должен знать, потому что он предлагает имя).
Сервер также может отслеживать, сколько байтов было передано, и если / когда соединение закрылось, что может показать, завершена ли загрузка.
Есть и другие возможности, такие как возобновленная загрузка и многопоточная загрузка, но, опять же, сервер может знать и записывать все это.
Обратите внимание, что в конкретном случае щелчка правой кнопкой мыши и загрузки изображения возможно, что загрузка не будет регистрироваться как загрузка вообще из-за кэширования на стороне клиента.
источник
Content-Disposition: attachment; filename="…"
так, что браузер показывает приглашение на загрузку, то даже при отмене загрузки сервер узнает о запросе - и, возможно, даже может различить, что загрузка была прервана.Если ... вы отменяете, прежде чем что-либо будет сохранено, "сервер" замечает / записывает это как загрузку?
Удаленный сервер не должен замечать какие-либо действия по загрузке, так как загрузка не была начата.
Однако удаленный сервер знает, что вы уже загрузили изображение , чтобы отобразить его в своем браузере ... и копия будет в кеше браузера ...
Любая «сущность», отслеживающая ваш локальный компьютер напрямую, может записать что-либо об этой активности.
источник
Content-Disposition
заголовок будет содержать фактическое имя файла.Content-Disposition
заголовком (уже упоминавшимся вам пару раз), то есть запрос должен быть сделан первым. Кроме того, браузеры могут начать загрузку полезных данных, прежде чем вы выберете каталог назначения.