In parole povere, la maggior parte delle volte non ci sono "chiavi" da condividere. La cosa che il server web e lo scambio di browser è molto più vicino a nonce di chiavi. E 'appena usato per crittografare la chiave di crittografia' simmetrica 'di secondo livello usata per il resto della trasmissione (dal momento che la crittografia pubblica / privata è molto costosa, e io uso simmetrica per facilitare la spiegazione, so che è più complessa)
Il problema che hai è che inizialmente non hai motivi comuni per avviare una sessione sicura con (nessuna base di crittografia condivisa solo tra te e il server), quindi dobbiamo usare un processo complesso e 'costoso' per impostare qualcosa che è condiviso solo tra browser e server.
Per quanto riguarda il motivo per cui il browser non mantiene aperta la connessione, questa è la cronologia delle parti, in parte il modo in cui i browser funzionano. Fortunatamente per i browser e server più recenti abbiamo spdy, spdy consente una reazione più intelligente, consentendo di mantenere la connessione https aperta più a lungo (e riutilizzare la connessione il più a lungo possibile) e anche i dati di fornitura preventivi che il server già sa che il cliente avrà bisogno (come i file css collegati a uno specifico file html.)