Tworzenie odpowiedzi
Lekcja 24 z 47 w kursie Sieci komputerowe w terminalu w Coddy.
Przeczytałeś już wiele odpowiedzi. Teraz napisz jedną.
nc -l nasłuchuje na porcie, a wszystko, co podasz na jego wejście, zostanie wysłane do pierwszego klienta, który się połączy. Dzięki temu to ty jesteś serwerem — bez udziału jakiegokolwiek serwera WWW:
printf 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhand written' | nc -l -p 9114 &Spójrz, co tu mamy: wiersz statusu, jeden nagłówek, pusty wiersz, a potem treść. Dokładnie taki układ, jaki poznawałeś, zapisany ręcznie.
Teraz wszystko, co obsługuje HTTP, zaakceptuje to. Skieruj curl na port, a zwróci całkowicie zwyczajny kod 200 z treścią typu text/plain, bo serwer WWW zawsze robi tylko jedno: zapisuje tekst w tym formacie.
Ta sztuczka jest naprawdę przydatna w pracy. Gdy chcesz zobaczyć, co coś do ciebie wysyła, postaw na jego drodze nc -l i odczytaj wysyłane żądanie.
Wyzwanie
EkspertRęcznie pełnij rolę serwera.
Używając nc -l na porcie 9114, wyślij odpowiedź, której wierszem statusu jest HTTP/1.1 200 OK, która zawiera nagłówek Content-Type: text/plain i której treść to dokładnie hand written. Następnie pobierz ją za pomocą curl i wyświetl treść.
Oczekiwany wynik:
hand writtenUżyj
printfz zakończeniami wierszy\r\ni pamiętaj o pustym wierszu przed treścią.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Sieci komputerowe w terminalu
5HTTP od podstaw
Budowa żądaniaMetody żądańKody statusuNagłówki odpowiedziTworzenie odpowiedziPodsumowanie: podstawy HTTP3Porty i gniazda
Czym jest portDobrze znane portyLocalhostNasłuchiwanie a łączeniePodsumowanie: porty6curl od podstaw do zaawansowania
Wyświetlanie nagłówkówZapisywanie odpowiedziWłasne nagłówkiStatus i czasKody zakończenia curlPodsumowanie: flagi curl9Uwierzytelnianie i debugowanie
Klucze API i BearerUser AgentLimity czasu i ponowieniaAnaliza błęduPodsumowanie: debugowaniePoćwicz samodzielnie: Edytor online Terminal