Ci sono molti grandi articoli che spiegano come SSL/TLS
funziona su questo sito, ma vorrei introdurre il problema delle prestazioni. Il fatto è che sto scontando i miei contenuti web su HTTPS
e l'handshake SSL richiede molto tempo.
Per quanto comprendo al momento la connessione con HTTPS
viene creata come segue:
- Stretta di mano TCP
- handshake SSL
- Dati HTTP
Ora, considerando che non posso usare l'intestazione keep-alive
in HTTP
, vuol dire che ad ogni richiesta vengono attivati tutti e 3 i punti? I miei test empirici mostrano che la parte di handshake SSL che è extra rispetto a HTTP
richiede circa 200-300 ms. Per caricare la pagina principale l'app sta facendo più di 10 richieste, quindi ciò significherebbe 200 * 10 = 2 secondi, giusto? Quello è troppo.
Quindi la domanda è: come posso ottimizzare quelle routine? Inoltre, come vengono distribuite le prestazioni tra server e client durante l'handshake SSL? Sembra che il server debba fare molto più calcoli, è corretto?