HTTPS (ang. Hypertext Transfer Protocol Secure) – szyfrowana wersja protokołu HTTP. W przeciwieństwie do komunikacji niezaszyfrowanego tekstu w HTTP klient-serwer, HTTPS szyfrował dane przy pomocy protokołu SSL, natomiast obecnie używany jest do tego celu protokół TLS. Zapobiega to przechwytywaniu i zmienianiu przesyłanych danych.
HTTPS działa domyślnie na porcie nr 443 w protokole TCP. Wywołania tego protokołu zaczynają się od https://, natomiast zwykłego połączenia HTTP od http://[1]. Protokół HTTPS jest 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 żądanie HTTP. Pierwotnie uniemożliwiało to serwowanie wielu domen (bądź subdomen), z osobnymi certyfikatami przy użyciu jednego adresu IP. Było to spowodowane brakiem informacji o tym, którego certyfikatu X.509 i klucza prywatnego należy użyć do odszyfrowania danych, ponieważ nagłówek HTTP Host jest wysyłany dopiero w zaszyfrowanej części zapytania (którego z kolei nie można odszyfrować, nie znając domeny). Jedynym rozwiązaniem było użycie wspólnego certyfikatu dla wszystkich domen. Obecnie problem został zażegnany dzięki SNI (Server Name Indication) – w tym przypadku informacja o domenie jest wysyłana jako część zapytania TLS, w niezaszyfrowanej postaci.
zrodlo: wikipedia.pl