HTTPS (ang.Hypertext Transfer Protocol Secure) – protokółHTTP chroniony przy pomocy szyfrowania protokołuTLS (dawniej SSL) i ustandaryzowany w dokumencieRFC 2818 pod rzadziej używaną nazwąHTTP Over TLS[1]. Szyfrowanie komunikacji w systemieod końca do końca ma zapobiegać jej przechwytywaniu między klientem i serwerem (np.atak man in the middle) czy wręcz modyfikacji przesyłanych danych, zanim dotrą do celu[1].
W przeciwieństwie do niezabezpieczonego HTTP, którego serwery nasłuchują naporcie 80[2], serwery obsługujące HTTPS nasłuchują domyślnie na porcie 443 protokołuTCP[1]. AdresyURL zaczynają się odhttps://, podczas gdy adresy niezabezpieczonego HTTP odhttp://[1].
Protokół HTTP realizuje się warstwę wyżej od standardu TLS, który znajduje się na warstwie prezentacji. Najpierw następuje więc wymiana kluczy TLS, a dopiero później możliwe jest przesłanie żądania HTTP. Historycznie uniemożliwiało to serwerom obsługiwanie wieludomen (bądź poddomen) z różnymi certyfikatami przy użyciu jednegoadresu IP. Było to spowodowane brakiem informacji o tym, którego certyfikatuX.509 iklucza prywatnego należy użyć do odszyfrowania danych, ponieważ nagłówekHTTP Host jest przekazywany wewnątrz zaszyfrowanej części zapytania (którego z kolei nie można odszyfrować, nie znając domeny). Jedynym obejściem było użycie wspólnego certyfikatu dla wszystkich domen. Problem został zażegnany poprzez wprowadzenie do TLS rozszerzeniaSNI (ang.Server Name Indication), które przechowuje informację o domenie w nieszyfrowanej postaci[3].
Procent domen w Internecie serwujących strony domyślnie po HTTPS na przestrzeni lat Źródło: W3Tech, marzec 2023[4][5]
W starszych wersjach HTTP szyfrowanie połączenia było rozszerzeniem protokołu. Począwszy odHTTP/2 mimo braku takiego wymogu w RFC[6], szyfrowanie stało sięde facto wymogiem protokołu ze względu na stan implementacji w najpopularniejszych silnikachprzeglądarek internetowych[7].
↑Rozszerzenie to łączy się jednak ze szczególnymi implikacjami prywatności i bezpieczeństwa, bowiem pozwala na wgląd w szyfrowany ruch sieciowy. Serwery pośredniczące w ruchu posiadają możliwość śledzenia, z jakimi domenami łączy się przeglądarka użytkownika. Ponieważ w implementacjach HTTP starszych niż 1.1 osobny IP musiał odpowiadać jednej zabezpieczonej domenie, co umożliwiało mapowanie ruchu, nie pogarsza to poziomu prywatności użytkowników, ale także go nie podnosi.