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 to jest: wiersz statusu, jeden nagłówek, pusty wiersz, a potem treść. Dokładnie taki sam układ, jaki czytałeś, zapisany ręcznie.
Teraz zaakceptuje to wszystko, co obsługuje HTTP. Skieruj curl na ten port, a zgłosi zwyczajną odpowiedź 200 z treścią text/plain, bo właśnie to robi serwer WWW: zapisuje tekst w takim układzie.
Ta sztuczka naprawdę przydaje się w pracy. Gdy chcesz sprawdzić, co coś do ciebie wysyła, postaw na jego drodze nc -l i odczytaj wysyłane przez to coś żą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