Eine Antwort schreiben
Lektion 24 von 47 im Kurs Netzwerken mit dem Terminal von Coddy.
Du hast jede Menge Antworten gelesen. Jetzt schreibe eine.
nc -l lauscht an einem Port, und alles, was du an seine Eingabe weiterleitest, wird an den ersten Client gesendet, der eine Verbindung herstellt. Damit bist du der Server, ganz ohne Webserver:
printf 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhand written' | nc -l -p 9114 &Sieh dir an, was das ist: eine Statuszeile, ein Header, eine Leerzeile und dann der Body. Genau die Form, die du gelesen hast, von Hand eingetippt.
Jetzt wird alles, was HTTP spricht, das akzeptieren. Richte curl auf den Port und es meldet einen völlig gewöhnlichen 200-Status mit einem text/plain-Body, denn genau das tut ein Webserver: Text in dieser Form schreiben.
Dieser Trick ist bei der Arbeit wirklich nützlich. Wenn du sehen musst, was etwas an dich sendet, setze ein nc -l dazwischen und lies die Anfrage, die es stellt.
Aufgabe
ExperteSei der Server, von Hand.
Verwende nc -l am Port 9114, um eine Antwort bereitzustellen, deren Statuszeile HTTP/1.1 200 OK lautet, mit einem Content-Type: text/plain-Header und einem Body, der genau aus hand written besteht. Rufe sie dann mit curl ab und gib den Body aus.
Erwartete Ausgabe:
hand writtenVerwende
printfmit\r\n-Zeilenenden und denke an die Leerzeile vor dem Body.
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-GrundlagenÜbe selbstständig: Terminal-Playground