Który protokół służy do przesyłania plików na serwer?
A. HTTP (Hyper Text Transfer Protocol).
B. DHCP (Dynamic Host Configuration Protocol).
C. FTP (File Transfer Protocol).
D. DNS (Domain Name System).
Pytanie z egzaminu CKE, czerwiec 2022 (arkusz E.13-SG-22.06).
FTP, czyli File Transfer Protocol, jest protokołem zaprojektowanym właśnie do przesyłania plików między klientem a serwerem w sieci TCP/IP. W praktyce używa się go np. do wgrywania plików strony WWW na hosting, pobierania archiwów z serwera firmowego albo przenoszenia paczek instalacyjnych na maszynę zdalną. Klient FTP łączy się z serwerem FTP, uwierzytelnia użytkownika loginem i hasłem, a potem pozwala wykonywać operacje na katalogach: wysyłanie, pobieranie, usuwanie czy zmianę nazw plików. Klasyczny FTP działa zwykle na porcie TCP 21 dla kanału sterującego, a transmisja danych odbywa się osobnym kanałem, co czasem ma znaczenie przy konfiguracji zapory sieciowej i NAT. Moim zdaniem warto od razu pamiętać o dobrej praktyce: zwykły FTP nie szyfruje danych, więc w realnych wdrożeniach lepiej stosować FTPS albo SFTP, szczególnie gdy przesyłane są hasła, kopie zapasowe lub pliki klienta. Sam skrót FTP jest jednak najtrafniejszą odpowiedzią na pytanie o protokół do przesyłania plików na serwer.
W tym pytaniu łatwo pomylić protokoły, bo wszystkie nazwy dotyczą sieci komputerowych, ale każdy z nich ma inną rolę. DHCP nie służy do przesyłania plików, tylko do automatycznego przydzielania konfiguracji sieciowej hostom. Dzięki DHCP komputer może dostać adres IP, maskę podsieci, bramę domyślną i adresy serwerów DNS bez ręcznego wpisywania ustawień. To jest bardzo ważne w administracji siecią, ale nie ma związku z wysyłaniem plików na serwer hostingowy czy plikowy.
DNS też nie przesyła plików. Jego zadanie polega na tłumaczeniu nazw domenowych, takich jak example.pl, na adresy IP, z którymi mogą połączyć się urządzenia. Typowy błąd myślowy polega na tym, że skoro wpisujemy nazwę serwera, to ktoś uznaje DNS za protokół komunikacji z tym serwerem. W rzeczywistości DNS tylko pomaga znaleźć właściwy adres, a dalszą transmisją zajmuje się inny protokół.
HTTP jest trochę bardziej podchwytliwy, bo przez HTTP faktycznie można wysłać plik, np. przez formularz na stronie internetowej albo API aplikacji webowej. Jednak podstawowym przeznaczeniem HTTP jest przesyłanie dokumentów hipertekstowych i zasobów WWW między przeglądarką a serwerem. Do klasycznego zarządzania plikami na serwerze, szczególnie w kontekście kont hostingowych i katalogów zdalnych, właściwą odpowiedzią jest FTP. Z mojego doświadczenia najlepiej zapamiętać to tak: DHCP konfiguruje sieć, DNS znajduje adres, HTTP obsługuje strony, a FTP przenosi pliki. W nowszych i bezpieczniejszych środowiskach często spotkasz SFTP lub FTPS, bo zwykły FTP nie szyfruje transmisji.
DNS też nie przesyła plików. Jego zadanie polega na tłumaczeniu nazw domenowych, takich jak example.pl, na adresy IP, z którymi mogą połączyć się urządzenia. Typowy błąd myślowy polega na tym, że skoro wpisujemy nazwę serwera, to ktoś uznaje DNS za protokół komunikacji z tym serwerem. W rzeczywistości DNS tylko pomaga znaleźć właściwy adres, a dalszą transmisją zajmuje się inny protokół.
HTTP jest trochę bardziej podchwytliwy, bo przez HTTP faktycznie można wysłać plik, np. przez formularz na stronie internetowej albo API aplikacji webowej. Jednak podstawowym przeznaczeniem HTTP jest przesyłanie dokumentów hipertekstowych i zasobów WWW między przeglądarką a serwerem. Do klasycznego zarządzania plikami na serwerze, szczególnie w kontekście kont hostingowych i katalogów zdalnych, właściwą odpowiedzią jest FTP. Z mojego doświadczenia najlepiej zapamiętać to tak: DHCP konfiguruje sieć, DNS znajduje adres, HTTP obsługuje strony, a FTP przenosi pliki. W nowszych i bezpieczniejszych środowiskach często spotkasz SFTP lub FTPS, bo zwykły FTP nie szyfruje transmisji.