Klijent protokola za prijenos datoteka je računalna softverska aplikacija koja se koristi za pristup poslužitelju podataka korištenjem protokola za prijenos datoteka (FTP). Kroz korištenje ovog zajedničkog protokola, klijent je u mogućnosti prenositi podatke na i s poslužitelja. Klijentska aplikacija pruža sredstva za uspostavljanje veze i zatim izdavanje odgovarajućih FTP naredbi poslužitelju. Dolazi u mnogim oblicima, upravlja se putem sučelja naredbenog retka (CLI), grafičkog korisničkog sučelja (GUI), čak i uobičajenim web preglednikom.
FTP je dio gornjeg sloja aplikacije paketa internetskih protokola (IP), s protokolom kontrole prijenosa (TCP) koji se koristi za komunikacijski prijenos. Klijent protokola za prijenos datoteka, dakle, odgovoran je za uspostavljanje veze s poslužiteljem tako da konačno otvori dvije TCP veze. Prva je kontrolna veza, gdje klijent šalje naredbe FTP poslužitelju. Prve naredbe poslane preko kontrolne veze su naredba USER, s imenom korisnika kao argumentom, a zatim naredba PASS nakon koje slijedi lozinka. Jednom uspostavljena, kontrolna veza ostaje otvorena tijekom cijele sesije.
Ovdje klijent protokola za prijenos datoteka postavlja različite načine komunikacije koje će imati s poslužiteljem. Podaci se obično predstavljaju na jedan od dva načina, tekstualni ili binarni, ovisno o podacima koji se šalju ili primaju. Prijenosi tipa teksta najčešće se koriste za obične tekstualne datoteke kodirane bilo pomoću metode kodiranja American Standard Code for Information Interchange (ASCII). Binarni način rada, također poznat kao način rada slike, služi za prijenos datoteka u netekstualnom binarnom formatu, kao što su digitalne slike. Drugi, nazvan lokalni način rada, je još jedan način na koji FTP može prenijeti podatke koristeći jedinstveni ili vlasnički format.
Drugi TCP kanal koji koristi klijent protokola za prijenos datoteka je podatkovna veza. Ova veza je privremene prirode i stvara se samo kada klijent zatraži popis datoteka na poslužitelju ili prenosi datoteku na ili s poslužitelja. Podatkovna se veza tada uništava kada nema prijenosa podataka. Podatkovna veza je također jedinstvena po načinu na koji se uspostavlja, bilo aktivno pasivno. Klijent mora reći poslužitelju vrstu podatkovne veze koju će koristiti ovisno o vrsti veze koja je dostupna na klijentu.
Uz aktivnu podatkovnu vezu, klijent protokola za prijenos datoteka govori poslužitelju koji broj TCP porta treba koristiti za podatkovnu vezu. Međutim, kada se koristi u pasivnom načinu rada, klijent jednostavno kaže poslužitelju da je pasivan, a poslužitelj tada obavještava klijenta koji TCP port koristiti za podatkovnu vezu. U većini slučajeva klijent je postavljen za pasivnu vezu zbog korištenja vatrozida koji ga štite od neovlaštenog pristupa.
Kao rezultat općeg nedostatka sigurnosti u FTP-u, sigurnost klijenta protokola za prijenos datoteka sastavni je dio njegovog rada tako da je aktivnost korisnika sigurna od znatiželjnih očiju. Tijekom godina osmišljen je niz dodatnih sigurnosnih tehnika za korištenje s FTP-om, kao što je klijent ili eksplicitno imenovanje sigurnosnog protokola za korištenje ili se automatski podrazumijeva. Drugi klijenti pokušavaju koristiti FTP putem tunela sigurne ljuske (SSH), što može imati poteškoća zbog prolazne prirode podatkovne veze.