La URL completa (nombre de host y ruta) solo está dentro del protocolo HTTP y, por lo tanto, está cifrada por la capa TLS. Además, todos los encabezados HTTP y la carga útil de solicitud y respuesta se cifran de extremo a extremo. Sin embargo, la parte del nombre de host de la URL suele estar en la solicitud CONECTAR cuando se usa un proxy HTTP no transparente, a menos que el propio cliente realice la búsqueda de DNS. Con un proxy SOCKS la situación es similar, es decir, el cliente proporciona la IP de destino (SOCKS4) o puede proporcionar el nombre de host (SOCKS5). Además, el nombre de host generalmente se incluye en el protocolo de enlace TLS también en clear (SNI), sin importar si se usa un proxy o no.
Esto significa que es conocido por el proveedor del proxy (tal vez el ISP) a qué host está accediendo, pero no a qué página de este host. Además, cualquier salto después de que el proxy conozca al menos la IP de destino, ya que esto es necesario para el enrutamiento. Y si se usa SNI (es decir, en la mayoría de los casos), cualquier salto también puede averiguar el nombre del host de los objetivos.
En resumen: el objetivo de TLS no es mantener la privacidad ni permitir conexiones anónimas. El objetivo es proteger los datos transferidos entre el cliente y el servidor contra el rastreo y la modificación.
¿Y quién hace la búsqueda de DNS?
Con un proxy SOCKS4 debe hacerlo el cliente (navegador). Con un proxy SOCKS5 o un proxy HTTP, el proxy puede y usualmente lo hará, ya que estos protocolos pueden transportar el nombre de host en lugar de la dirección IP.
Editar: No sabía que las versiones recientes de Firefox y Chrome realmente admiten la conexión a un proxy HTTP con HTTPS. En este caso, solo la conexión al proxy es visible para cualquier salto antes del proxy y, por lo tanto, la URL que incluye el nombre de host y la dirección IP están totalmente protegidas en la ruta al proxy. En y después del proxy, esta protección TLS adicional se elimina y, por lo tanto, el nombre de host y la dirección IP de destino son visibles nuevamente como se describió anteriormente. Supongo que el navegador envía el nombre de host y no la dirección IP al proxy (porque esto también se realiza con un proxy HTTP normal), por lo que la búsqueda de DNS solo se realizará en el proxy.