Ellenőrizze a végső FTP-választ, mielőtt megbízik egy feltöltésben
A 150-es válasz azt jelenti, hogy az átvitel elkezdődött, nem azt, hogy a fájl tárolva van. Válassza szét a helyi olvasást, a tárolási engedélyt, az adatkapcsolatot és a végső választ.
Az FTP-kliens jóval azelőtt elfogadhat egy put parancsot, hogy a kiszolgáló megkapta volna a fájlt, és éppen a két esemény közötti résben lakik a feltöltési rejtélyek többsége. Négy szakasznak kell befejeződnie: a helyi fájl beolvasása, a kiszolgáló tárolási kérésének elfogadása, az adatkapcsolat bájtjainak továbbítása, és az átvitel eljut egy végső pozitív válaszig. A szakaszok összehasonlítása hasznosabb, mint a kliensek összehasonlítása, mert a működő bejelentkezés és a megjelenő fájlnév is a cél előtt áll meg.
Előzetes válasz szemben a végső válasszal
STOR esetén az 125 vagy 150 válasz előzetes. Azt mondja, hogy a kiszolgáló hajlandó próbálkozni, és hogy adatkapcsolat nyílik, nem pedig azt, hogy az objektum végső formájában létezik. A művelet csak akkor fejeződik be, amikor az átvitel eljut egy pozitív befejezési válaszig, általában 226 vagy 250, az adott művelet keretében.
A 426 azt jelenti, hogy az átvitel megszakadt, és egy másik parancs által kiírt szám nem ennek a feltöltésnek az eredménye. A STOR-hoz tartozó választ olvassa, ne a képernyő utolsó számát. Ha a kliens kilép, mielőtt ez a válasz megérkezik, egyáltalán nincs bizonyítéka a befejezésről.
Vezérlőkapcsolat szemben az adatkapcsolattal
A hitelesítés és a könyvtárlistázás a vezérlőkapcsolatot használja. A bájtok külön adatkapcsolatot használnak, amelynek végpontja minden átvitelnél egyeztetésre kerül. A sikeres bejelentkezés a vezérlőutat bizonyítja, és semmit nem mond arról, hogy az adatcím elérhető-e a kliensről.
Amikor a kiszolgáló nem tudja megnyitni az adatkapcsolatot, vizsgálja meg az egyeztetett végpontot és az engedélyezett útvonalat. A passzív módnak továbbra is használható adatcímre és portra van szüksége, és a kliens és a kiszolgáló közötti tűzfal vagy NAT-eszköz engedélyezheti a vezérlő munkamenetet, miközben blokkolja az adattartományt. Ha a kiszolgáló inkább elutasítja a tárolási kérést, nézze meg a távoli útvonal nevét, az engedélyeket vagy a tárolási korlátokat. A két ág egyikét sem magyarázza meg az, hogy a vezérlőkapcsolat hitelesítve lett.
FTP TLS felett szemben az SFTP-vel
Az FTP TLS felett továbbra is FTP: két kapcsolat, FTP-válaszok és TLS-frissítés mindegyiken. Az SFTP az SSH alrendszere egyetlen kapcsolattal és teljesen más parancskészlettel. Egy célt és szinte semmi mást nem osztanak meg, ezért a köztük átjáró diagnózis általában a rossz naplók összehasonlításával kezdődik.
Ne kapcsolja ki a TLS-t, hogy egy közbenső segéd megnézhesse a munkamenetet, és ne kezelje az SFTP hibáját FTP-válaszproblémaként. A curl kézikönyv dokumentálja a kifejezett TLS-t, a passzív módot és a feltöltési lehetőségeket, ha szkriptelt tesztre van szüksége, és ez a referencia arra, hogy mit változtat valójában az egyes kapcsolók.
Válassza ki azt a protokollt, amelyet a szolgáltatás valóban kínál, mielőtt hibakeresést végezne rajta. Egy csak SFTP-t beszélő kiszolgáló soha nem ad 226-os választ, akárhogyan is van beállítva a kliens.
Látható fájlnév szemben a tárolt objektummal
Egy látható fájlnév hiányos objektumot jelenthet, különösen egy megszakadt átvitel vagy egy túl korán kilépett kliens után. Kérje meg a szolgáltatás tulajdonosát, hogy hasonlítsa össze a tervezett tesztfájl méretét és a megbízható tartalom-hash-t a tárolt objektummal, amikor a bájtok megőrzése elvárt.
A bináris és az ASCII mód egy újabb összehasonlítás, amely megváltoztatja az eredményt. Az ASCII mód átfordíthatja a soremeléseket, így a tárolt bájtok eltérnek a helyi fájltól akkor is, ha az átvitel sikeres volt. Tartsa meg a bináris módot a bájtonkénti ellenőrzéshez, és ne adjon hozzá átalakítási lehetőségeket, hogy egy sikertelen átvitel másként nézzen ki.
Egy szokásos STOR lecserélhet egy meglévő fájlt, és a bejelentkezési vagy könyvtárlistázási engedély nem teremt engedélyt objektum létrehozására vagy lecserélésére benne. A teszthez használjon korábban nem használt távoli nevet.
Mit kell összehasonlítani az újrapróbálkozás előtt
Ne fűzzön hozzá, ne folytasson és ne ismételjen feltöltést vakon egy bizonytalan részleges fájlon. Egyezzen meg a tulajdonossal, hogy újrakezdik-e új néven, a szolgáltatás által támogatott helyreállítási eljárást használják-e, vagy eltávolítják-e a sikertelen tesztobjektumot.
Írja le az eredményt négy állítás egyikeként: a helyi olvasás meghiúsult, a tárolás elutasításra került, az adatátvitel megszakadt, vagy az átvitel befejeződött és a tárolt bájtok megegyeztek. Ez a feljegyzés erősebb eredmény annál, mint a shell, a VPN és az FTP-beállítások együttes módosítása addig, amíg egy fájlnév megjelenik, és megmondja a következő embernek, melyik szakaszt vizsgálja. Őrizze meg a megtisztított válaszszöveget az állítás mellett. Akkor az újrapróbálkozás döntés, nem reflex.