C'è una risposta molto semplice a questa: profila le prestazioni del tuo server web per vedere qual è la penalità delle prestazioni per la tua situazione particolare. Esistono diversi strumenti per confrontare le prestazioni di un server HTTP vs HTTPS (vengono in mente JMeter e Visual Studio) e sono abbastanza facili da usare.
Nessuno può darti una risposta significativa senza alcune informazioni sulla natura del tuo sito web, hardware, software e configurazione di rete.
Come altri hanno già detto, ci sarà un certo livello di overhead dovuto alla crittografia, ma dipende fortemente da:
- Hardware
- Software server
- Rapporto tra contenuto dinamico e statico
- Distanza del client dal server
- Durata tipica della sessione
- Etc (il mio preferito personale)
- Comportamento nella cache dei client
In base alla mia esperienza, i server con un elevato contenuto dinamico hanno un impatto minore su HTTPS poiché il tempo impiegato per la crittografia (overhead SSL) è insignificante rispetto al tempo di generazione del contenuto.
I server che si occupano pesantemente di servire un insieme piuttosto piccolo di pagine statiche che possono essere facilmente memorizzate nella memoria cache soffrono di un sovraccarico molto più elevato (in un caso, il throughput è stato gestito su una "intranet").
Modifica: un punto che è stato sollevato da molti altri è che l'handshaking SSL è il costo principale di HTTPS. È corretto, motivo per cui "durata tipica della sessione" e "comportamento di memorizzazione nella cache dei client" sono importanti.
Molte sessioni molto brevi significano che il tempo di handshaking supererà qualsiasi altro fattore di prestazione. Sessioni più lunghe comporteranno il costo dell'handshaking all'inizio della sessione, ma le richieste successive avranno un sovraccarico relativamente basso.
La memorizzazione nella cache del client può essere eseguita in diversi passaggi, da qualsiasi server proxy su larga scala fino alla cache del browser individuale. Generalmente il contenuto HTTPS non verrà memorizzato nella cache in una cache condivisa (sebbene alcuni server proxy possano sfruttare un comportamento di tipo man-in-the-middle per raggiungere questo obiettivo). Molti browser memorizzano nella cache il contenuto HTTPS per la sessione corrente e spesso volte attraverso le sessioni. L'impatto della non memorizzazione nella cache o della memorizzazione nella cache significa che i client recupereranno lo stesso contenuto più frequentemente. Ciò si traduce in più richieste e larghezza di banda per servire lo stesso numero di utenti.