Protokół SSL (i jego następca, TLS) – to protokół, który działa bezpośrednio na połączeniu TCP (chociaż istnieją implementacje protokołów na podstawie datagramów, takich jak UDP). W ten sposób, protokoły wyższego poziomu (np. HTTP) mogą zostać bez zmian zapewniając bezpieczne połączenie. Pod warstwą SSL – HTTP wygląda identycznie jak protokół HTTPS.
Podczas poprawnego korzystania z protokołu SSL/TLS, wszystkie osoby atakujące mogą zobaczyć adres IP i port, do którego podłączone są, oraz ile danych zostało przesłano i czy były dane zaszyfrowanie i skompresowane. Ta osoba również może przerwać połączenie, ale obie strony (serwer i klient) będą wiedzieć, że połączenie zostało przerwane przez osobę trzecią.
Standardowo osoba atakująca jest w stanie dowiedzieć się, jaka jest nazwa hosta, z którym się łączysz (ale pozostałą część adresu URL już nie): chociaż sam HTTPS nie naraża nazwę hosta na niebezpieczeństwo, po prostu przeglądarka musi zrobić zapytanie do serwerów DNS, aby dowiedzieć się na jaki adres IP wysłać zapytanie.