Sjekk den endelige FTP-responsen før du stoler på en opplasting
En 150-respons betyr at overføringen startet, ikke at filen er lagret. Skill lokal lesing, lagringstillatelse, dataforbindelsen og den endelige responsen.
En FTP-klient kan godta en put-kommando lenge før serveren har mottatt filen, og gapet mellom disse to hendelsene er der de fleste opplastingsmysterier holder til. Fire trinn må fullføres: den lokale filen leses, serveren godtar lagringsforespørselen, dataforbindelsen frakter bytene, og overføringen når en endelig positiv respons. Å sammenligne trinnene er mer nyttig enn å sammenligne klienter, fordi en innlogging som virker og et filnavn som vises begge stopper før målstreken.
Foreløpig respons kontra endelig respons
For STOR er en 125- eller 150-respons foreløpig. Den sier at serveren er villig til å prøve og at en dataforbindelse åpnes, ikke at objektet finnes i sin endelige form. Operasjonen er bare fullført når overføringen når en positiv fullføringrespons, vanligvis 226 eller 250, i den operasjonens kontekst.
En 426 betyr at overføringen ble avbrutt, og et nummer skrevet ut av en annen kommando er ikke denne opplastingens resultat. Les responsen som hører til STOR-en, ikke det siste nummeret på skjermen. Hvis klienten avsluttes før den responsen kommer, har du ingen fullføringsbevis i det hele tatt.
Kontrollforbindelse kontra dataforbindelse
Autentisering og katalogopplisting bruker kontrollforbindelsen. Bytene bruker en egen dataforbindelse, og endepunktet for den forhandles per overføring. En vellykket innlogging beviser kontrollveien og sier ingenting om hvorvidt dataadressen er nåbar fra klienten.
Når serveren ikke kan åpne dataforbindelsen, undersøk endepunktet som ble forhandlet og stien som er tillatt. Passiv modus krever fortsatt en brukbar dataadresse og port, og en brannmur eller NAT-enhet mellom klient og server kan tillate kontrollsesjonen mens den blokkerer dataområdet. Når serveren i stedet avviser lagringsforespørselen, se på det eksterne banenavnet, tillatelsene eller lagringsgrensene. Ingen av grenene forklares av at kontrollforbindelsen er autentisert.
FTP over TLS kontra SFTP
FTP over TLS er fortsatt FTP: to forbindelser, FTP-responser og en TLS-oppgradering på hver. SFTP er et SSH-subsystem med én forbindelse og et helt annet kommandosett. De deler et formål og nesten ingenting annet, så en diagnose som krysser mellom dem starter vanligvis med å sammenligne feil logger.
Ikke slå av TLS for at en mellomliggende hjelper skal kunne inspisere økten, og ikke behandle en SFTP-feil som et FTP-responsproblem. curl-manualen dokumenterer eksplisitt TLS, passiv modus og opplastingsvalg hvis du trenger en skriptet test, og den er referansen for hva hvert flagg faktisk endrer.
Velg protokollen tjenesten faktisk tilbyr før du feilsøker den. En server som bare snakker SFTP vil aldri produsere en 226-respons, uansett hvordan klienten er konfigurert.
Et synlig filnavn kontra et lagret objekt
Et synlig filnavn kan representere et ufullstendig objekt, spesielt etter en avbrutt overføring eller en klient som avsluttet tidlig. Be tjenestens eier sammenligne størrelsen på den tiltenkte testfilen og en betrodd innholdshash med det lagrede objektet når bytebevaring er forventet.
Binær- og ASCII-modus er en annen sammenligning som endrer resultatet. ASCII-modus kan oversette linjeslutt, så de lagrede bytene avviker fra den lokale filen selv om overføringen lyktes. Behold binærmodus for en byte-for-byte-kontroll, og ikke legg til konverteringsvalg for å få en mislykket overføring til å se annerledes ut.
En vanlig STOR kan erstatte en eksisterende fil, og tillatelse til å logge inn eller liste en katalog etablerer ikke tillatelse til å opprette eller erstatte et objekt i den. Bruk et tidligere ubrukt eksternt navn til testen.
Hva du bør sammenligne før du prøver på nytt
Ikke legg til, gjenoppta eller gjenta en opplasting blindt over en usikker dellagret fil. Bli enig med eieren om du skal starte på nytt under et nytt navn, bruke tjenestens støttede gjenopprettingsprosedyre, eller fjerne det mislykkede testobjektet.
Skriv resultatet som ett av fire utsagn: den lokale lesingen mislyktes, lagringen ble avvist, dataoverføringen ble avbrutt, eller overføringen ble fullført og de lagrede bytene samsvarte. Den registreringen er et sterkere resultat enn å endre skallet, VPN-en og FTP-innstillingene sammen til et filnavn dukker opp, og den forteller neste person hvilket trinn som skal undersøkes. Ta vare på den rensede respons-teksten sammen med utsagnet. Da er et nytt forsøk en beslutning, ikke en refleks.