Protokół transferu plików

Protokół transferu plików, FTP (od ang. File Transfer Protocol) – protokół komunikacyjny typu klient-serwer wykorzystujący protokół sterowania transmisją (TCP) według modelu TCP/IP (krótko: połączenie TCP), umożliwiający dwukierunkowy transfer plików w układzie serwer FTP–klient FTP.

FTP jest zdefiniowany przez IETF w dokumencie .

FTP jest protokołem 8-bitowym i dlatego nie wymaga kodowania danych do 7 bitów, tak jak w przypadku poczty elektronicznej.

Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jest połączeniem sterującym, za pomocą którego przesyłane są polecenia, a drugie służy do transmisji danych. Połączenie za pomocą protokołu FTP (krótko: połączenie FTP) może działać w dwóch trybach: aktywnym i pasywnym:

 jeżeli połączenie FTP działa w trybie aktywnym, używa portu 21 dla poleceń (zestawiane przez klienta) i portu 20 do przesyłu danych (zestawiane przez serwer)
 jeżeli połączenie FTP pracuje w trybie pasywnym, używa portu 21 dla poleceń i portu o numerze powyżej 1024 do transmisji danych (obydwa połączenia zestawiane są przez klienta).

W sieciach chronionych zaporą sieciową komunikacja z serwerami FTP wymaga zwolnienia odpowiednich portów na tej zaporze lub routerze. Możliwe jest zainstalowanie wielu serwerów FTP na jednym routerze. Warunkiem jest rozdzielenie portów przez router dla każdego serwera.

Serwer FTP, zależnie od konfiguracji, może pozwalać na anonimowy, czyli bez podawania hasła uwierzytelniającego, dostęp do jego zasobów.  Najczęściej jednak serwer FTP autoryzuje każde połączenie za pomocą loginu i hasła.

Obsługa w przeglądarkach 
Większość współczesnych przeglądarek internetowych umożliwia odczyt i pobieranie plików znajdujących się na serwerach FTP, aczkolwiek mogą nie rozpoznawać rozszerzeń protokołu takich jak FTPS.

W chwili połączenia z adresem FTP zamiast HTTP zawartość dostępna na serwerze zdalnym jest przedstawiana w sposób zbliżony do innych elementów sieci Web. W przeglądarce Firefox można uruchomić pełnoprawnego klienta FTP po zainstalowaniu rozszerzenia FireFTP.

Wraz z wydaniem Google Chrome w wersji 88 przeglądarka utraciła całkowicie obsługę protokołu. W 2019 roku Mozilla analizowała możliwe opcje, włączając w to usunięcie jedynie wsparcia dla już nieużywanych implementacji FTP celem uproszczenia kodu programu.
W kwietniu 2021 roku Mozilla wydała Firefoksa 88.0, który domyślnie miał wyłączoną obsługę FTP. W lipcu tego samego roku opublikowano wersję 90.0, w której usunięto całkowicie wsparcie dla protokołu.

Składnia 
Składnię URL FTP zdefiniowano w dokumencie , przyjmującą formę  (dane podane w nawiasach są opcjonalne).
Przykładowo URL  przedstawia dokument tekstowy myfile.txt, znajdujący się w folderze mydirectory na serwerze public.ftp-servers.example.com jako zasób FTP. Adres  dodaje specyfikację nazwy użytkownika i hasła wymaganą do uzyskania dostępu do zasobu.

Więcej informacji dotyczących określania nazwy użytkownika i hasła można odnaleźć w dokumentacji samych przeglądarek internetowych (np. Firefox oraz Internet Explorer). Domyślnie większość przeglądarek używa trybu pasywnego (PASV), który łatwiej przedostaje się przez zapory (firewalle) użytkowników końcowych.

Istniały pewne odmiany tego, jak różne przeglądarki traktowały ścieżki dostępu w przypadku gdy katalog „domowy” użytkownika nie był głównym.

Zobacz też 
 protokół internetowy
 SSH File Transfer Protocol
 Wget

Przypisy

Linki zewnętrzne 
 
 

 
Protokoły warstwy aplikacji