Provjerite završni FTP odgovor prije nego što povjerujete prijenosu
Odgovor 150 znači da je prijenos započeo, a ne da je datoteka spremljena. Odvojite lokalno čitanje, dopuštenje za spremanje, podatkovnu vezu i završni odgovor.
FTP klijent može prihvatiti naredbu put mnogo prije nego što poslužitelj primi datoteku, a upravo u procjepu između tih dvaju događaja boravi većina zagonetki prijenosa. Moraju se dovršiti četiri faze: čita se lokalna datoteka, poslužitelj prihvaća zahtjev za spremanje, podatkovna veza prenosi bajtove i prijenos stiže do završnog pozitivnog odgovora. Uspoređivati faze korisnije je od uspoređivanja klijenata, jer prijava koja radi i naziv datoteke koji se pojavi oboje staju prije cilja.
Preliminarni odgovor nasuprot završnome
Za STOR je odgovor 125 ili 150 preliminaran. On govori da je poslužitelj voljan pokušati i da se otvara podatkovna veza, a ne da objekt postoji u završnom obliku. Radnja je dovršena tek kad prijenos stigne do pozitivnog odgovora o dovršetku, obično 226 ili 250, u kontekstu te radnje.
426 znači da je prijenos prekinut, a broj koji ispiše neka druga naredba nije rezultat ovog prijenosa. Čitajte odgovor koji pripada STOR-u, a ne zadnji broj na zaslonu. Ako klijent izađe prije dolaska tog odgovora, nemate baš nikakav dokaz o dovršetku.
Upravljačka veza nasuprot podatkovnoj vezi
Autentikacija i popis mapa rabe upravljačku vezu. Bajtovi rabe zasebnu podatkovnu vezu, a njezina se završna točka pregovara 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 pregovorenu završnu točku i dopušteni put. Pasivni način i dalje traži uporabljivu podatkovnu adresu i port, a vatrozid ili NAT uređaj između klijenta i poslužitelja može dopustiti upravljačku sesiju dok blokira podatkovni raspon. Kad poslužitelj umjesto toga odbije zahtjev za spremanje, pogledajte udaljeni naziv puta, dopuštenja ili ograničenja spremišta. Nijedna od dviju grana nije objašnjena time što se upravljačka veza autentificirala.
FTP preko TLS-a nasuprot SFTP-u
FTP preko TLS-a još je FTP: dvije veze, FTP odgovori i TLS nadogradnja na svakoj. SFTP je podsustav SSH-a s jednom vezom i posve drukčijim skupom naredbi. Dijele svrhu i gotovo ništa više, pa dijagnoza koja prelazi između njih obično počinje usporedbom pogrešnih zapisa.
Ne isključujte TLS kako bi posredni pomoćnik mogao pregledati sesiju i ne tretirajte neuspjeh SFTP-a kao problem s FTP odgovorima. priručnik curl dokumentira izričiti TLS, pasivni način i mogućnosti prijenosa ako vam treba skriptirani test, i referenca je za ono što svaka zastavica doista mijenja.
Odaberite protokol koji usluga doista nudi prije nego što ga počnete otklanjati. Poslužitelj koji govori samo SFTP nikada neće dati odgovor 226, kako god klijent bio konfiguriran.
Vidljiv naziv datoteke nasuprot spremljenom objektu
Vidljiv naziv datoteke može predstavljati nepotpun objekt, osobito nakon prekinutog prijenosa ili klijenta koji je izašao prerano. Zamolite vlasnika usluge da usporedi veličinu predviđene ispitne datoteke i pouzdani hash sadržaja sa spremljenim objektom kad 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 spremljeni bajtovi razlikuju od lokalne datoteke iako je prijenos uspio. Zadržite binarni način za provjeru bajt po bajt i ne dodajte mogućnosti pretvorbe da bi neuspjeli prijenos izgledao drukčije.
Uobičajeni STOR može zamijeniti postojeću datoteku, a dopuštenje za prijavu ili popis mape ne uspostavlja dopuštenje za stvaranje ili zamjenu objekta u njoj. Za test rabite prije nekorišteni udaljeni naziv.
Što usporediti prije ponovnog 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 nazivom, rabiti podržani postupak oporavka usluge ili ukloniti neuspjeli ispitni objekt.
Zapišite ishod kao jednu od četiriju tvrdnji: lokalno čitanje nije uspjelo, spremanje je odbijeno, prijenos podataka je prekinut ili je prijenos dovršen i spremljeni bajtovi su se podudarali. Taj je zapis jači rezultat od mijenjanja ljuske, VPN-a i FTP postavki zajedno dok se ne pojavi naziv datoteke, i govori sljedećoj osobi koju fazu pregledati. Čuvajte očišćeni tekst odgovora uz tu tvrdnju. Tada je ponovni pokušaj odluka, a ne refleks.