Eisspeedway

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 FTPklient FTP.

FTP jest zdefiniowany przez IETF w dokumencie RFC 959 ↓.

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

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[2][3].

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[4][5]. 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[6]. W kwietniu 2021 roku Mozilla wydała Firefoksa 88.0, który domyślnie miał wyłączoną obsługę FTP[7]. W lipcu tego samego roku opublikowano wersję 90.0, w której usunięto całkowicie wsparcie dla protokołu[8].

Składnia

Składnię URL FTP zdefiniowano w dokumencie RFC 1738 ↓, przyjmującą formę ftp://[user[:password]@]host[:port]/url-path (dane podane w nawiasach są opcjonalne). Przykładowo URL ftp://public.ftp-servers.example.com/mydirectory/myfile.txt przedstawia dokument tekstowy myfile.txt, znajdujący się w folderze mydirectory na serwerze public.ftp-servers.example.com jako zasób FTP. Adres ftp://user001:secretpassword@private.ftp-servers.example.com/mydirectory/myfile.txt 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[9] oraz Internet Explorer[10]). 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[11].

Zobacz też

Przypisy

  1. FTP co to jest - File Transfer Protocol, co oznacza, jaka jest definicja pojęcia w słowniku | Sempire [online], sempire.pl [dostęp 2024-07-30] (pol.).
  2. Tamara Dean, Network+ Guide to Networks, Delmar, 2010, s. 168–171 (ang.).
  3. J. Matthews, Computer Networking: Internet Protocols in Action, wyd. 1, Danvers, MA: John Wiley & Sons Inc, 2005 (ang.).
  4. Joey Sneddon: Linux Release Roundup: GParted, Lightworks, Google Chrome + More. omg! ubuntu!. [dostęp 2021-07-15]. (ang.).
  5. Google: Deprecations and removals in Chrome 87. Google Developers. [dostęp 2021-07-15]. (ang.).
  6. 1574475 (kill-ftp) Remove FTP support. Bugzilla. [dostęp 2021-07-15]. (ang.).
  7. Firefox 88.0, See All New Features, Updates and Fixes. mozilla.org. [dostęp 2021-07-15]. Cytat: FTP support has been disabled, and its full removal is planned for an upcoming release. Addressing this security risk reduces the likelihood of an attack while also removing support for a non-encrypted protocol. (ang.).
  8. Firefox 90.0, See All New Features, Updates and Fixes. mozilla.org. [dostęp 2021-07-15]. Cytat: FTP support has been removed (ang.).
  9. Accessing FTP servers. mozilla.org. [dostęp 2021-07-15]. (ang.).
  10. Microsoft, How to Enter FTP Site Password in Internet Explorer, Microsoft Support [zarchiwizowane 2015-07-02] (ang.).
  11. Jukka “Yucca” Korpela, FTP URLs, [w:] IT and communication [online], jkorpela.fi, 18 września 1997 [dostęp 2021-07-15] (ang.).

Linki zewnętrzne