10. Protokoły warstwy aplikacji

10.5. Protokół FTP

Trzecią, równie popularną usługą internetową jest możliwość wysyłania i odbierania plików przez FTP (File Transfer Protocol). Usługa jest również protokołem komunikacyjnym, gdy chcemy przesłać pliki strony internetowej na serwer WWW lub po prostu chcemy przesłać niektóre pliki na serwer i udostępnić innym użytkownikom. Aby wykonać operację wgrywania plików na serwer lub pobierania zasobów z serwera, musimy skorzystać z klienta FTP i oczywiście taka usługa również musi być uruchomiona na serwerze. Klienci FTP są dostępni w każdym systemie operacyjnym, na przykład za pomocą wiersza poleceń, co jest niewygodne, ale działa.

Jeśli używamy FTP tylko do pobierania plików, możemy to zrobić bezpiecznie za pomocą przeglądarki internetowej. Większość, jeśli nie wszystkie, popularne przeglądarki mają wbudowanych klientów FTP.

Jeśli jednak chcemy przesłać pliki na serwer, warto skorzystać z dedykowanych programów, takich jak FileZilla czy WinSCP – są one darmowe i można je łatwo pobrać z sieci.

Klient FTP WinSCP

W przypadku tego protokołu, aby komunikować się poprawnie, należy nawiązać dwa połączenia pomiędzy klientem a serwerem. Pierwsze połączenie jest używane tylko do wysyłania poleceń i wiadomości i nazywa się połączeniem kontrolnym (działa na porcie 21), podczas gdy drugie połączenie działa na porcie 20 i jest używane do przesyłania plików do i z serwera. W celu ochrony dostępu do serwera FTP stosowana jest autoryzacja użytkownika, która jest dokładnie taka sama jak przy logowaniu do maili czy profili w serwisach społecznościowych, ale czasami, gdy zasób jest dostępny dla większej liczby odbiorców, anonimowy dostęp mają tzw. użytkownicy. Dlatego nie jest wymagane żadne zezwolenie. To rozwiązanie powinno być stosowane tylko wtedy, gdy nie ma przeszkód, by użytkownik pobierał dane z serwera. Wgrywanie plików, czyli umieszczanie ich na serwerze, jest zawsze dostępne tylko dla użytkowników posiadających login i hasło.