Schemat wybiera port
Lekcja 39 z 47 w kursie Sieci komputerowe w terminalu w Coddy.
http:// i https:// różnią się czymś więcej niż jedną literą. Schemat określa dwie rzeczy: którego domyślnego portu użyć — 80 czy 443 — oraz czy przed wysłaniem czegokolwiek rozpocząć uzgadnianie TLS.
To uzgadnianie kluczy to pierwsza czynność, która następuje, zanim zostanie zapisana jakakolwiek linia żądania. Obie strony uzgadniają szyfrowanie, a serwer przedstawia swój certyfikat. Dopiero wtedy wysyłany jest znany Ci HTTP, wewnątrz zaszyfrowanego kanału.
Zatem port albo obsługuje TLS, albo nie. Zażądaj https:// od zwykłego portu HTTP, a nie będzie uprzejmego sposobu na przejście na HTTP: uzgadnianie połączenia nie powiedzie się natychmiast, a curl zgłosi kod wyjścia 35, czyli błąd połączenia SSL.
Warto to zauważyć, ponieważ może się wydawać, że serwer nie działa, podczas gdy bez problemu obsługuje zwykły ruch HTTP przy użyciu innego schematu.
Wyzwanie
TrudnyPoproś zwykły serwer HTTP o TLS i obserwuj, jak odmawia.
- Udostępnij folder na porcie 9129 w zwykły sposób, czyli przez HTTP
- Wyślij żądanie do
https://127.0.0.1:9129/i wypisztls=, a następnie kod wyjścia curl
Oczekiwany wynik:
tls=3535 to kod curl oznaczający błąd połączenia SSL.
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 HTTP8HTTPS i TLS
Dlaczego HTTPSSchemat wybiera portCertyfikaty i zaufanieGdy TLS zawodziPodsumowanie: HTTPS3Porty 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