Budowa żądania
Lekcja 20 z 47 w kursie Sieci komputerowe w terminalu w Coddy.
Pod spodem, za curl, żądanie HTTP to zwykły tekst wysyłany przez gniazdo. Zaczyna się od jednego wiersza, który określa, czego chcesz:
GET /index.html HTTP/1.1Trzy części: metoda (rodzaj operacji), ścieżka (który element) i wersja. Potem następują nagłówki, po jednym w wierszu, następnie pusty wiersz i opcjonalne ciało.
Pusty wiersz nie jest ozdobą. Dzięki niemu serwer wie, że nagłówki się skończyły i zaczyna się ciało, jeśli występuje. Żądanie bez niego zawiesza się, ponieważ serwer nadal czeka na resztę.
Możesz wysłać je ręcznie. nc otwiera surowe połączenie, a wszystko, co do niego przekażesz, trafia bezpośrednio do sieci:
printf 'GET / HTTP/1.0\r\n\r\n' | nc 127.0.0.1 9110\r\n to zakończenie wiersza wymagane przez HTTP, a jego podwojenie tworzy pusty wiersz.
Wyzwanie
TrudnyCałkowicie pomiń curl i komunikuj się bezpośrednio przez HTTP.
- Utwórz plik
index.htmlzawierającyraw - Udostępnij folder na porcie 9110
- Wyślij surowe żądanie
GET /index.html HTTP/1.0przeznci wyświetl tylko pierwszy wiersz odpowiedzi
Ten pierwszy wiersz to wiersz statusu serwera. Oczekiwany wynik:
HTTP/1.0 200 OKPamiętaj o pustym wierszu:
printf 'GET /index.html HTTP/1.0\r\n\r\n'.
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