In telecomunicazioni e informatica HyperText Transfer Protocol over Secure Socket Layer (HTTPS) è il risultato dell'applicazione di un protocollo di crittografia asimmetrica al protocollo di trasferimento di ipertesti HTTP. Viene utilizzato per garantire trasferimenti riservati di dati nel web, in modo da impedire intercettazioni dei contenuti che potrebbero essere effettuati tramite la tecnica di attacco del man in the middle.

Descrizione
Nei browser web, la URI (Uniform Resource Identifier) che si riferisce a tale tecnologia ha nome di schema https ed è in tutto e per tutto analoga alle URI http. Tuttavia, la porta di default impiegata non è la 80 come in HTTP, ma la 443, mentre (trasparentemente all'utente) tra il protocollo TCP e HTTP si interpone un livello di crittografia/autenticazione come il Secure Sockets Layer (SSL) o il Transport Layer Security (TLS).
In pratica viene creato un canale di comunicazione criptato tra il client e il server attraverso uno scambio di certificati; una volta stabilito questo canale al suo interno viene utilizzato il protocollo HTTP per la comunicazione.
Questo tipo di comunicazione garantisce che solamente il client e il server siano in grado di conoscere il contenuto della comunicazione.
Questo sistema fu progettato dalla Netscape Communications Corporation che si occupa delle autenticazioni e delle comunicazioni crittografate ed è largamente usato nel World Wide Web per situazioni che richiedono particolari esigenze in ambito di sicurezza come per esempio il pagamento di transazioni online. In questo caso SSL garantisce la cifratura dei dati inviati e ricevuti su internet.

Funzionamento
HTTPS è un protocollo che integra l'interazione del protocollo HTTP attraverso un meccanismo di crittografia di tipo Transport Layer Security (SSL/TLS). Questa tecnica aumenta il livello di protezione contro attacchi del tipo man in the middle.
La porta di default per il protocollo HTTPS è la numero 443 (mentre per il protocollo HTTP è la numero 80).
Per impostare un web server in modo che accetti connessioni di tipo HTTPS, l'amministratore di rete deve creare un certificato digitale ovvero un documento elettronico che associ l'identità di una persona ad una chiave pubblica. Questi certificati possono essere creati dai server basati su UNIX con l'ausilio di tools come ssl-ca di OpenSSL oppure usando gensslcert di SuSE (TinyCA2, CA.pl, script Perl). Questi certificati devono essere rilasciati da un certificate authority o comunque da un sistema che accerta la validità dello stesso in modo da definire la vera identità del possessore (i browser web sono creati in modo da poter verificare la loro validità tramite una lista preimpostata).
In particolari situazioni (come per esempio nel caso di aziende con una rete intranet privata) è possibile avere un proprio certificato digitale che si può rilasciare ai propri utenti.
Questa tecnologia quindi può essere usata anche per permettere un accesso limitato ad un web server. L'amministratore spesso crea dei certificati per ogni utente che vengono caricati nei loro browser contenenti informazioni come il relativo nome e indirizzo e-mail in modo tale da permettere al server di riconoscere l'utente nel momento in cui quest'ultimo tenti di riconnettersi senza immettere nome utente e/o password.

Implicazioni SEO
In data 8 agosto 2014 Google annuncia che i siti ospitati sotto protocollo HTTPS saranno ritenuti maggiormente affidabili agli occhi del motore di ricerca. Il protocollo HTTPS viene annunciato ufficialmente come fattore di ranking.

Fonte: http://it.wikipedia.org/wiki/HTTPS