Dachte das lange Zeit auch, aber doch, die Query-Parameter sind verschlüsselt.
Bei so einer URL:
https://example.com/hallo.html?name=welt
...wird der Hostname, also example.com, über DNS aufgelöst. Wenn die DNS-Anfrage nicht verschlüsselt ist, dann kann man den Hostnamen sehen. Der Rest ist aber teil des HTTP Protokolls. Und HTTP findet auf der Anwendungsschicht statt:
![]()
HTTPS ist ja HTTP+TLS. Und TLS findet auf der Transportschicht statt (deswegen auch "Transport Layer Security"). Also ist alles, was in den Schichten darüber passiert verschlüsselt, inklusive dem HTTP-Zeug.
Oder vielleicht noch anders ausgedrückt:
Das Konzept einer URL existiert erst in HTTP. (Und unabhängig davon auch in FTP und Co.) Die Schichten darunter interessieren sich nur für Hostnamen+Port.