Das Schema legt den Port fest
Lektion 39 von 47 im Kurs Netzwerken mit dem Terminal von Coddy.
http:// und https:// unterscheiden sich in mehr als nur einem Buchstaben. Das Schema legt zwei Dinge fest: welchen Standardport verwendet werden soll, 80 oder 443, und ob vor dem Senden irgendetwas ein TLS-Handshake gestartet werden soll.
Dieser Handshake ist das Erste, was passiert, noch bevor eine Request-Zeile geschrieben wird. Beide Seiten einigen sich auf die Verschlüsselung, und der Server präsentiert sein Zertifikat. Erst dann wird das HTTP, das du kennst, innerhalb des verschlüsselten Kanals gesendet.
Ein Port spricht also entweder TLS oder nicht. Fordere https:// von einem reinen HTTP-Port an, gibt es keinen höflichen Fallback: Der Handshake schlägt sofort fehl, und curl meldet den Exit-Code 35, einen SSL-Verbindungsfehler.
Das sollte man sich merken, denn es sieht so aus, als wäre der Server ausgefallen, obwohl er nur ein Schema weiter fröhlich reines HTTP bereitstellt.
Aufgabe
SchwerFordere einen einfachen HTTP-Server über TLS an und beobachte, wie er dies ablehnt.
- Stelle einen Ordner auf Port 9129 auf die übliche Weise bereit, also über einfaches HTTP
- Fordere
https://127.0.0.1:9129/an und gibtls=gefolgt von dem Exit-Code von curl aus
Erwartete Ausgabe:
tls=3535 ist der curl-Code für einen SSL-Verbindungsfehler.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Netzwerken mit dem Terminal
2Namen und DNS
Warum Namen existierenDie Hosts-DateiEinen Namen nachschlagenRecord-TypenRückblick: Namen5HTTP von Hand
Anatomie einer AnfrageAnfragemethodenStatuscodesAntwort-HeaderEine Antwort schreibenRückblick: HTTP-Grundlagen8HTTPS und TLS
Warum HTTPSDas Schema legt den Port festZertifikate und VertrauenWenn TLS scheitertRückblick: HTTPSÜbe selbstständig: Terminal-Playground