Budowa żądania
Lekcja 20 z 47 w kursie Sieci komputerowe w terminalu w Coddy.
Pod curl żądanie HTTP to zwykły tekst wysyłany przez gniazdo. Zaczyna się od jednego wiersza określającego, czego chcesz:
GET /index.html HTTP/1.1Trzy części: metoda (rodzaj operacji), ścieżka (który zasób) i wersja. Następnie pojawiają się nagłówki, po jednym w każdym wierszu, potem pusty wiersz, a na końcu opcjonalne ciało.
Pusty wiersz nie jest ozdobą. Dzięki niemu serwer wie, że nagłówki się skończyły i zaczyna się treść żądania, jeśli istnieje. Żądanie bez niego zawiesza się, ponieważ serwer wciąż czeka na dalszą część.
Możesz wysłać go ręcznie. nc otwiera surowe połączenie, a wszystko, co do niego wpiszesz, trafia bezpośrednio do sieci:
printf 'GET / HTTP/1.0\r\n\r\n' | nc 127.0.0.1 9110\r\n to znak końca wiersza wymagany przez HTTP, a podwojony oznacza 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