Solo gli endpoint TLS 1 possono leggere l'URL completo perché HTTPS fornisce la crittografia end-to-end.
HTTPS racchiude il protocollo HTTP completo, tra cui la riga di richiesta, il corpo richiesta / risposta e tutte le intestazioni. L'URL della richiesta è solo una parte di HTTP che viene crittografata insieme a tutti gli altri componenti. Se una delle parti fosse in grado di leggere l'URL, avrebbe naturalmente anche accesso al traffico HTTP completo.
Per essere chiari, ci sono ancora molti modi in cui l'URL potrebbe essere divulgato inavvertitamente:
-
Quando ti allontani da un sito facendo clic su un link, per impostazione predefinita il browser invierà un'intestazione Referer
contenente l'URL precedente, che viene quindi divulgato al sito che stai cercando.
-
I plug-in del browser potrebbero inviare i tuoi URL visitati da qualche parte per analisi o per venderli.
-
Prodotti di sicurezza o firewall aziendali che eseguono l'intercettazione "legittima" di HTTPS (implicando che hai attivamente installato e attendibile il loro certificato di origine) potrebbero leggere il tuo traffico HTTP e quindi apprendere l'URL.
-
L'host del sito di destinazione (ma non l'intero URL) verrebbe normalmente divulgato a un potenziale intercettore dovuto a HTTPS SNI e la query DNS del cliente.
Ma assumendo una configurazione corretta senza perdite di canale laterali, l'URL della richiesta passa semplicemente attraverso il tunnel TLS come tutto il resto trasmesso.
1 Nel tuo esempio, questi sono probabilmente il dispositivo locale (1.) e l' host di destinazione (12.) . Come sottolinea @Bob, la connessione TLS potrebbe anche terminare con un bilanciamento del carico o qualche altra forma di proxy.