Podczas przeglądania obrazów w obrazach google, można przypadkowo kliknąć „zapisz obraz jako” lub „wyświetl obraz” (co czasami powoduje również pobranie). Spowoduje to otwarcie okna z pytaniem, czy chcesz pobrać wspomniany plik. Jeśli jednak anulujesz, zanim cokolwiek zostanie zapisane, czy nadal będzie to postrzegane jako pobieranie ze strony „serwera”? Ponieważ nie jestem zbyt dobrze zaznajomiony z tym tematem, moje użycie „serwera” obejmuje tylko to, co jednostka może nagrać / zapisać wspomnianą aktywność.
21
Odpowiedzi:
Patrząc od strony serwera, absolutnie nie ma technicznej różnicy między „przesyłaniem do przeglądania w oknie przeglądarki” a „pobieraniem do przechowywania”.
Być może serwer zapewni (mniejszy) podgląd i (większy) rzeczywisty obraz do pobrania i może rozróżnić, do którego dostępu uzyskano dostęp. Ale może rejestrować (i rejestrować) tylko dostęp do tych plików, adres IP, z którego pochodzi żądanie, ogólny „ciąg identyfikatora” oprogramowania przeglądarki - a nie zamiar klienta.
Jednak dostęp do plików nie zawsze wynika z interakcji człowieka z komputerem klienckim. Z jednej strony przeglądarki przechowują obrazy i inne dane witryn w twoim systemie, nawet jeśli nie używasz nawet opcji „zapisz obraz jako ...”. Z drugiej strony wiele przeglądarek nawet wcześniej „podąża za linkami” (to znaczy: pobiera rzeczy!) Z wyprzedzeniem , aby przyspieszyć nawigację. Pamięć podręczna przeglądarki może nawet dostać się do lokalnej kopii zapasowej w ten sposób, nawet jeśli nigdy świadomie nie uzyskałeś dostępu do tych plików!
Wreszcie użycie opcji „zapisz jako” i anulowanie (nie wybranie docelowej nazwy pliku) może zainicjować pobieranie lub nie, w zależności od implementacji używanej przeglądarki.
źródło
Content-Disposition
nagłówek HTTP :inline
wskazuje widok w przeglądarce,attachment
pobieranie.curl https://www.google.com/ -H 'User-Agent: I am really a web browser, trust me' >> /dev/null
;)Chociaż serwer HTTP nie widzi anulowanego pobierania, na stronie może znajdować się kod JavaScript, który monitoruje takie zdarzenia.
JavaScript ma moduły obsługi zdarzeń, których można użyć do wykrycia kliknięcia prawym przyciskiem myszy na obrazie, i jest całkiem prawdopodobne, że można monitorować inne ruchy myszy, aby zgadnąć, jakiego wyboru dokonujesz z menu podręcznego. Następnie skrypt może łatwo wysłać informacje do serwera natychmiast lub zapisać je w lokalnej pamięci przeglądarki i wysłać później.
W konkretnym przypadku wyszukiwania grafiki Google JavaScript na tej stronie ma wiele programów obsługi nasłuchujących zdarzeń myszy. Jednak kod jest zaciemniony, więc nie jest łatwo stwierdzić, jaki rodzaj monitorowania wykonuje.
źródło
HEAD
żądaniem HTTP zamiastGET
.To zależy od serwera.
Serwer będzie mógł zarejestrować się po rozpoczęciu pobierania (pomyśl o tym, musi wiedzieć, ponieważ sugeruje nazwę).
Serwer może również śledzić, ile bajtów zostało przesłanych i czy / kiedy połączenie zostało zamknięte, co może pokazać, czy diwnload zostało zakończone.
Istnieją również inne możliwości, takie jak wznawianie pobierania i pobieranie wielowątkowe - ale znowu, serwer może to wszystko wiedzieć i nagrywać.
Zwróć uwagę, że w szczególnym przypadku kliknięcia prawym przyciskiem myszy i pobrania obrazu możliwe jest, że pobieranie nie zostanie zarejestrowane jako pobieranie ze względu na buforowanie po stronie klienta.
źródło
Content-Disposition: attachment; filename="…"
tak, aby przeglądarka wyświetliła monit o pobranie, to nawet po anulowaniu pobierania serwer będzie wiedział o żądaniu - i prawdopodobnie może nawet rozpoznać, że pobieranie zostało przerwane.Jeśli ... anulujesz, zanim cokolwiek zostanie zapisane, czy „serwer” zauważy / zarejestruje to jako pobranie?
Serwer zdalny nie powinien zauważać żadnej aktywności pobierania, ponieważ pobieranie nie zostało rozpoczęte.
Jednak zdalny serwer wie, że obraz został już pobrany , aby wyświetlić go w przeglądarce ... a kopia będzie w pamięci podręcznej przeglądarki ...
Każdy „podmiot” monitorujący bezpośrednio lokalną maszynę może zarejestrować coś związanego z tą działalnością.
źródło
Content-Disposition
nagłówek będzie zawierał rzeczywistą nazwę pliku.Content-Disposition
nagłówkiem (wspomnianym już kilka razy), co oznacza, że najpierw należy złożyć wniosek . Ponadto przeglądarki mogą rozpocząć pobieranie ładunku przed wybraniem katalogu docelowego.