Un client de protocol de transfer de fișiere este o aplicație software de calculator folosită pentru accesarea unui server de date utilizând protocolul de transfer de fișiere (FTP). Prin utilizarea acestui protocol comun, clientul este capabil să transfere date către și de la server. Aplicația client oferă mijloacele pentru a stabili o conexiune și apoi a emite comenzile FTP corespunzătoare către server. Vine în multe forme, operate printr-o interfață de linie de comandă (CLI), o interfață grafică cu utilizatorul (GUI), chiar și un browser web obișnuit.
FTP face parte din stratul superior de aplicație al suitei de protocol Internet (IP), protocolul de control al transmisiei (TCP) fiind utilizat pentru transportul comunicațiilor. Clientul protocolului de transfer de fișiere este responsabil pentru stabilirea conexiunii la server prin deschiderea a două conexiuni TCP. Prima este conexiunea de control, unde clientul trimite comenzi către serverul FTP. Primele comenzi trimise prin conexiunea de control sunt comanda USER, cu numele utilizatorului drept argument, iar apoi comanda PASS urmată de parolă. Odată stabilită, conexiunea de control rămâne deschisă pe toată durata sesiunii.
Aici, clientul protocolului de transfer de fișiere stabilește diferitele moduri de comunicare pe care le va avea cu serverul. De obicei, datele sunt reprezentate într-unul din două moduri, text sau binar, în funcție de datele trimise sau primite. Transferurile de tip text sunt utilizate cel mai adesea pentru fișierele text simplu codificate fie cu metoda de codare ASCII (American Standard Code for Information Interchange). Modul binar, denumit și modul imagine, este pentru transferul de fișiere într-un format binar non-text, cum ar fi imaginile digitale. Un altul, numit modul local, este un alt mod prin care FTP poate transfera date folosind un format unic sau proprietar.
Al doilea canal TCP utilizat de clientul protocolului de transfer de fișiere este conexiunea de date. Această conexiune este de natură temporară și este creată numai atunci când un client solicită o listă a fișierelor de pe server sau transferă un fișier fie către sau de la server. Conexiunea de date este apoi distrusă atunci când nu are loc niciun transfer de date. Conexiunea de date este, de asemenea, unică în modul în care este stabilită, fie activ pasiv. Clientul trebuie să spună serverului tipul de conexiune de date de utilizat, în funcție de tipul de conexiune disponibil pe client.
Cu o conexiune de date activă, clientul protocolului de transfer de fișiere spune serverului ce număr de port TCP să folosească pentru conexiunea de date. Când este utilizat în modul pasiv, totuși, clientul spune pur și simplu serverului că este pasiv, iar serverul informează apoi clientul ce port TCP să folosească pentru conexiunea de date. În cele mai multe cazuri, clientul este configurat pentru o conexiune pasivă datorită utilizării de firewall-uri care îl protejează de accesul neautorizat.
Ca urmare a lipsei generale de securitate în FTP, securitatea pentru un client de protocol de transfer de fișiere este parte integrantă a funcționării acestuia, astfel încât activitatea utilizatorului să fie protejată de privirile indiscrete. O serie de tehnici de securitate suplimentare au fost concepute pentru a fi utilizate cu FTP de-a lungul anilor, cum ar fi clientul fie care denumește în mod explicit un protocol de securitate de utilizat, fie unul care este implicit implicit. Alți clienți încearcă să utilizeze FTP printr-un tunel de tip shell securizat (SSH), care poate avea dificultăți din cauza naturii trecătoare a conexiunii de date.