Główna » jak » Czy strony trzecie mogą czytać pełny adres URL podczas przeglądania za pomocą protokołu HTTPS?

    Czy strony trzecie mogą czytać pełny adres URL podczas przeglądania za pomocą protokołu HTTPS?


    Kiedy bezpiecznie odwiedzasz stronę za pośrednictwem https: // dane przesyłane między serwerem a przeglądarką są szyfrowane, ale co z adresami URL odwiedzanymi w witrynie? Czy Twój ISP lub inny obserwator zewnętrzny może zobaczyć, na co patrzysz?

    Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Pytanie

    Anonimowy czytnik SuperUser chce wiedzieć, czy jego sesje przeglądania są całkowicie bezpieczne:

    Wszyscy wiemy, że protokół HTTPS szyfruje połączenie między komputerem a serwerem, dzięki czemu nie może być oglądany przez stronę trzecią. Czy jednak dostawca usług internetowych lub strona trzecia może zobaczyć dokładny link strony, do której użytkownik uzyskał dostęp?

    Na przykład odwiedzam:

    https://www.website.com/data/abc.html

    Czy dostawca Internetu dowie się, że uzyskałem dostęp do pliku * / data / abc.html lub po prostu wiedziałem, że odwiedziłem adres IP witryny www.website.com?

    Jeśli wiedzą, dlaczego Wikipedia i Google mają HTTPS, gdy ktoś może po prostu odczytać dzienniki internetowe i dowiedzieć się, jaka dokładnie treść przeglądał użytkownik?

    Ciekawe pytanie, które z pewnością ma wpływ na prywatność. Zbadajmy.

    Odpowiedź

    Nadawca SuperUser Grawity oferuje bardzo zwięzły przegląd tego, jak cały adres URL jest przetwarzany po drodze:

    Od lewej do prawej:

    The schemat https: jest oczywiście interpretowane przez przeglądarkę.

    The Nazwa domeny www.website.com jest rozwiązany na adres IP za pomocą DNS. Twój ISP zobaczymy żądanie DNS dla tej domeny i odpowiedź.

    The ścieżka /data/abc.html jest wysyłane w żądaniu HTTP. Jeśli używasz HTTPS, to zostanie zaszyfrowany wraz z resztą żądania HTTP i odpowiedzi.

    The ciąg zapytania ?to = to, jeśli występuje w adresie URL, jest wysyłany w żądaniu HTTP - wraz ze ścieżką. Więc jest również zaszyfrowany.

    The fragment #tam, jeśli jest obecny, nie jest nigdzie wysyłany - jest interpretowany przez przeglądarkę (czasami przez JavaScript na zwróconej stronie).

    Krótko mówiąc, wszystko na prawo od nazwy domeny jest szyfrowane przez sesję HTTPS i pozostaje niewidoczne dla Twojego dostawcy Internetu lub kogokolwiek innego, kto podgląda twoje działania.


    Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.