Provjerite konačni FTP odgovor prije nego što povjerujete prijenosu
Odgovor 150 znači da je prijenos počeo, a ne da je datoteka pohranjena. Razdvojite lokalno čitanje, dopuštenje za pohranu, podatkovnu vezu i konačni odgovor.
FTP klijent može prihvatiti naredbu put mnogo prije nego što poslužitelj primi datoteku, a u razmaku između tih dvaju događaja živi većina misterija prijenosa. Moraju se dovršiti četiri faze: lokalna datoteka se čita, poslužitelj prihvaća zahtjev za pohranu, podatkovna veza prenosi bajtove, a prijenos dolazi do konačnog pozitivnog odgovora. Uspoređivanje faza korisnije je od uspoređivanja klijenata jer se uspješna prijava i vidljivo ime datoteke oboje zaustavljaju prije cilja.
Preliminarni i konačni odgovor
Za STOR je odgovor 125 ili 150 preliminaran. Kaže da je poslužitelj spreman pokušati i da se otvara podatkovna veza, a ne da objekt postoji u konačnom obliku. Radnja je dovršena tek kad prijenos dosegne pozitivan odgovor o dovršetku, obično 226 ili 250, u kontekstu te radnje.
426 znači da je prijenos prekinut, a broj koji ispiše druga naredba nije rezultat ovog prijenosa. Čitajte odgovor koji pripada tom STOR-u, a ne zadnji broj na zaslonu. Ako se klijent zatvori prije nego taj odgovor stigne, nemate nikakav dokaz o dovršetku.
Upravljačka veza i podatkovna veza
Autentifikacija i popis mape koriste upravljačku vezu. Bajtovi koriste zasebnu podatkovnu vezu, a njezina se krajnja točka dogovara za svaki prijenos. Uspješna prijava dokazuje upravljački put i ne govori ništa o tome je li podatkovna adresa dostupna s klijenta.
Kad poslužitelj ne može otvoriti podatkovnu vezu, istražite dogovorenu krajnju točku i dopušteni put. Pasivni način i dalje traži upotrebljivu podatkovnu adresu i port, a vatrozid ili NAT uređaj između klijenta i poslužitelja može propustiti upravljačku sesiju i blokirati podatkovni raspon. Kad poslužitelj umjesto toga odbije zahtjev za pohranu, pogledajte udaljeno ime puta, dopuštenja ili ograničenja pohrane. Nijednu od tih grana ne objašnjava to što je upravljačka veza autentificirana.
FTP preko TLS-a i SFTP
FTP preko TLS-a i dalje je FTP: dvije veze, FTP odgovori i TLS nadogradnja na svakoj. SFTP je podsustav SSH-a s jednom vezom i posve drugačijim skupom naredbi. Dijele svrhu i gotovo ništa drugo, pa dijagnoza koja prelazi između njih obično počinje usporedbom pogrešnih zapisa.
Ne isključujte TLS da bi posredni pomoćnik pregledao sesiju i ne tretirajte neuspjeh SFTP-a kao problem FTP odgovora. priručnik curl opisuje eksplicitni TLS, pasivni način i mogućnosti prijenosa ako trebate test iz skripte, i referenca je za ono što svaki prekidač stvarno mijenja.
Odaberite protokol koji usluga stvarno nudi prije nego što je budete otklanjali. Poslužitelj koji govori samo SFTP nikad neće proizvesti odgovor 226, kako god klijent bio konfiguriran.
Vidljivo ime datoteke i pohranjeni objekt
Vidljivo ime datoteke može predstavljati nepotpuni objekt, posebno nakon prekinutog prijenosa ili klijenta koji je rano završio. Zamolite vlasnika usluge da usporedi veličinu predviđene testne datoteke i pouzdani hash sadržaja s pohranjenim objektom kada se očekuje očuvanje bajtova.
Binarni i ASCII način još su jedna usporedba koja mijenja rezultat. ASCII način može prevesti završetke redaka, pa se pohranjeni bajtovi razlikuju od lokalne datoteke i kad je prijenos uspio. Zadržite binarni način za provjeru bajt po bajt i ne dodajte mogućnosti pretvorbe da neuspjeli prijenos izgleda drugačije.
Obični STOR može zamijeniti postojeću datoteku, a dopuštenje za prijavu ili popis mape ne daje dopuštenje za stvaranje ili zamjenu objekta u njoj. Za test upotrijebite prije nekorišteno udaljeno ime.
Što usporediti prije novog pokušaja
Ne dodajte, ne nastavljajte i ne ponavljajte prijenos naslijepo preko nesigurne djelomične datoteke. Dogovorite s vlasnikom hoćete li početi ispočetka pod novim imenom, upotrijebiti proceduru oporavka koju usluga podržava ili ukloniti neuspjeli testni objekt.
Zapišite ishod kao jednu od četiri tvrdnje: lokalno čitanje nije uspjelo, pohrana je odbijena, podatkovni prijenos je prekinut ili je prijenos dovršen i pohranjeni bajtovi se podudaraju. Taj je zapis jači rezultat od istovremenog mijenjanja ljuske, VPN-a i FTP postavki dok se ne pojavi ime datoteke i govori sljedećoj osobi koju fazu pregledati. Sačuvajte očišćeni tekst odgovora uz tu tvrdnju. Tada je novi pokušaj odluka, a ne refleks.