FTP-protokoll (SFTP, FTPS) - vad är det, en anslutning mellan en klient och en server via FTP.


Hej kära läsare av bloggsidan. Nästa steg mot att förstå mekanismen för informationsöverföring på Internet är studien av FTP, genom vilken du bland annat kan arbeta med alla filer på en fjärrserver.

.jpg

Eller använd ett mer komplext alternativ om en annan port än 21 används:

Ftp: // inloggning: [e-postskyddad]webbplats: 35 / images / file-1.jpg

Om du använder en webbläsare i detta sammanhang kan du bara visa eller ladda ner de intressanta filerna. För att dra full nytta av alla fördelar med FTP, som klient, bör du använda specialprogramvara som Filezilla ():


För att ansluta via den redan konfigurerade FileZilla-klienten till en fjärrserver måste du ange värdnamnet, som används som motsvarande domän (er), användarnamn, lösenord och port.

Förresten, artikeln om Filesilla ger inte bara standardinformation utan också praktiska råd om hur man kan eliminera dess säkerhetssårbarhet (trots en massa fördelar har den problem av detta slag, liksom andra program med liknande profil), så jag rekommenderar starkt att du läser detta material genom att klicka på länken ovan.

Men låt oss fortsätta. Schematiskt kan interaktionen "klientserver" i FTP-anslutning visualiseras enligt följande:


Om du skriver ner denna process punkt för punkt får du något av följande:

  1. Användaren aktiverar klientapplikationen och ansluter till servern genom att ange ett användarnamn och lösenord.
  2. En kontrollanslutning upprättas mellan motsvarande moduler - protokolltolkare från klient- och serversidan.
  3. Användaren via klienten skickar kommandon till servern och definierar olika parametrar för FTP-anslutningen ( aktivt eller passivt läge, port, typ av dataöverföring, deras typ), samt direktiv för åtgärder som användaren avser att utföra (till exempel radera, byta namn på, ladda upp en fil, etc.).
  4. När alla nödvändiga parametrar har ställts in kommer en av deltagarna (till exempel klienten), som är passiv, i vänteläge för att öppna en anslutning till porten som är inställd för överföring av information. Sedan öppnar den aktiva deltagaren anslutningen och börjar sända data över den utsedda kanalen.
  5. Efter avslutad överföring stängs denna anslutning, men kontrollkanalen mellan tolkarna förblir öppen, vilket resulterar i att användaren kan öppna dataöverföringen igen inom samma session.

Om användaren är administratör för en webbplats som ligger på en fjärrserver kan han efter autentisering och anslutning utföra alla möjliga åtgärder.

Det finns dock en hel del gratis FTP-servrar på Internet, som i huvudsak är bibliotek med olika typer av filer som är utformade för att lagra och ladda ner textdokument, musik, foton, videor, distribution av programvara etc.

I det här fallet har den registrerade användaren, efter auktorisering, mycket begränsad åtkomst till vissa kataloger och kan endast utföra vissa etablerade åtgärder med deras innehåll (till exempel visa och ladda ner filer).

Förutom standardanslutningen till servern, som tillhandahåller inmatning av autentiseringsdata, finns det anonymt FTP-konceptnär någon användare kan ansluta till servern utan att tillhandahålla personuppgifter. Om du använder webbläsaren som klient kan filåtkomstadressen förenklas och representeras enligt följande:

Ftp: //site/images/file-1.jpg

I praktiken använder anonym FTP vanligtvis det välkända ordet "anonym" som inloggning för åtkomst och en e-postadress som lösenord, vilket dock inte verifieras i de flesta fall.

Säker FTP (SFTP, FTPS och med SSH)

Detta protokoll var ursprungligen inte tänkt som säkert, eftersom det utvecklades redan 1971 och användes först endast i APRANET-forskningsnätverket, till vilket endast ett fåtal militära anläggningar och universitet hade tillgång.

Men med utvecklingen av World Wide Web blev ovannämnda APRANET en del av det och följaktligen migrerade FTP-tekniken dit, eftersom det hade många fördelar. Samtidigt ökade dock risken för obehörig åtkomst med flera storleksordningar.

Därför finns det ett akut behov av att skydda servrar från olika typer av attacker. Konventionell FTP har inte möjlighet att överföra data i krypterad form, vilket leder till att användarnamn, lösenord, kommandon och annan information enkelt och enkelt kan fångas av angripare om så önskas.

Av denna anledning har flera metoder utvecklats för att kryptera information som överförs via FTP. Tillsammans fick alla dessa metoder ett allmänt och rymligt namn Säker FTP... Här är de sorter av protokollet som passar denna term:

1. FTPS (FTP + SSL) är faktiskt en förlängning av standardfilöverföringsprotokollet, som tillhandahålls av det kryptografiska SSL-protokollet (Secure Sockets Layer). Idag är dess mer avancerade motsvarighet TLS (Transport Layer Security). Det finns dock två metoder för att tillhandahålla säkerhet:

1.1. Implicit är föråldrad och använder ett standardprotokoll som kräver SSL eller TLS för att kryptera information. Med denna metod är det absolut nödvändigt att använda andra portar än de vanliga, vilket skapar olägenheter eftersom kompatibiliteten för klienter och servrar som inte stöder FTPS är trasig.

1.2. Explicit - mycket bekvämare, eftersom det använder kommandona för standard FTP-protokollet, men krypterar informationen när du skickar ett svar, vilket möjliggör upprätthållande av kompatibilitet, eftersom i detta fall samma portar används för både FTPS och FTP. I det här fallet skickar klienten kommandot "AUTH TLS" eller "AUTH SSL" för att kryptera data.

2. SFTP (SSH FTP) är ett filöverföringsprotokoll för applikationslager som går över en säker kanal och bör inte förväxlas med Simple File Transfer Protocol, som har samma akronym. Om FTPS bara är en förlängning av FTP är SFTP ett separat och på intet sätt relaterat till FTP-protokoll, som är utrustat med SSH (Secure Shell - ett säkert skal).

Det viktigaste som gör det annorlunda än standard FTP och FTP är att TFTP krypterar absolut alla kommandon, användarnamn, lösenord och annan konfidentiell information. Eftersom detta är en helt annan konfiguration kan FTP (FTPS) -klienter inte ansluta till SFTP-servern.

3. FTP över SSH - gör en vanlig FTP-session genom en SSH-tunnel, det vill säga det här alternativet ska inte förväxlas med SFTP, som är ett separat oberoende protokoll. Denna metod kan inte kallas 100% säker. Varför?

Faktum är att om flera SSH-klienter etablerar en tunnel för kontrollkanalen, som initialt utförs via port 21 (och denna situation observeras nästan alltid), kommer denna kanal att skyddas. När data överförs öppnar klientprogramvaran nya TCP-anslutningar, som redan finns utanför SSH-skyddshöljet.

Jag hoppas att du inte är förvirrad över alla dessa säkra protokollalternativ. För att på något sätt underlätta förståelsen tillåter jag mig att göra en kort sammanfattning. Objektivt ger SFTP den högsta säkerhetsgraden. Explicit FTPS är något sämre än pålitligheten, men det är bekvämare eftersom det gör det möjligt att använda vanliga portar. Vilken du ska välja beror på vilken typ av uppgift du står inför och naturligtvis serverinställningarna.

Om du äger webbplatsen undrade du förmodligen hur du går in på webbplatsen via ftp? Faktum är att webbplatser består av filer som finns på en fjärrserver. Dessa filer kan nås både via webbhotellpanelen och via en ftp-anslutning, vilket är mycket bekvämare.

Innan du ansluter till din webbplats via ftp måste du känna direkt till ftp-servern och referenser som har åtkomst för att ansluta till servern. Läs vidare för mer information ...

Jag använder FileZilla för att ansluta till webbplatsen via ftp. Idag är detta det mest praktiska programmet för dessa ändamål. Frekventa programuppdateringar utesluter möjligheten till en skadlig anslutning till din webbplats.

Ladda ner och installera programmet. Efter installationen, kör den

FileZilla är en bekväm filhanterare, på den vänstra sidan finns en panel med lokala filer (på din dator) och på höger sida ser du filer på servern (efter anslutning).

Du måste känna till referenserna för att ansluta till servern. Vanligtvis skickar hostaren dem till det e-postmeddelande som angavs under registreringen. Vi hittar brevet och öppnar det. Så här såg det ut för mig när jag registrerade min första webbplats.

Som du kan se finns det själva servern, inloggning, lösenord. Öppna nu FileZilla, klicka på knappen "Site Manager"

I fönstret som öppnas klickar du på "Ny webbplats" och anger våra uppgifter

När du har angett data klickar du på knappen "OK". Inställningsfönstret stängs. Klicka annars på pilen bredvid knappen "Site Manager" och välj "New Site" (den vi just skapade)

Om du angav alla data korrekt kommer programmet att ansluta dig till servern och en mapp med filer på servern visas i höger fönster

För att kopiera en fil till webbplatsen, eller vice versa, dra en fil från webbplatsen, du behöver bara gå till mappen i höger kolumn för att välja önskad katalog och dra filen till vänster kolumn genom att dra och släppa (i den, ange också sökvägen där du vill spara filen).

När du är klar stänger du bara FileZilla. Som du kan se, inget hemskt och obegripligt. Allt är väldigt enkelt och enkelt. Om du fortfarande har frågor, fråga i kommentarerna hjälper jag gärna.

FTP är ett oumbärligt protokoll för webbplatsbyggare. Med hjälp av FTP-dataöverföringsprotokollet kan webbplatsen snabbt laddas med nödvändig information. Detta protokoll låter dig arbeta med stora mängder information och gör allt i hög hastighet. Därför gör webbansvariga som väljer att ladda upp webbplatsdata till värdet med hjälp av FTP-protokollet rätt val!

Och även om det är enklare än någonsin att använda FTP, är de flesta nybörjade webbansvariga inte förtrogen med FTP-servern och klienten första gången. Därför lär du dig i den här artikeln hur du kan ladda upp din webbplats till hosting via FTP, hur du tar reda på adressen till FTP-webbplatsen och sedan ansluter till den och går in på servern.

Hur man laddar upp data till värd via FTP

Att vara värd för din webbplats är en FTP-server. För att komma åt filsystemet och ladda ner de distributioner som krävs behöver du en dedikerad klient. I själva verket är detta ett vanligt program som gör att du enkelt kan manipulera filsystemet och arbeta igenom olika typer av dataöverföringsprotokoll. FileZilla är den mest populära klienten som kan laddas ner gratis. De flesta värdleverantörer rekommenderar detta program i sina instruktioner för att arbeta med servern.

Så installera FileZilla på din dator eller någon annan klient. Installationen tar inte mycket tid och skiljer sig praktiskt taget inte från den vanliga installationen av program i Windows. Därefter måste du öppna toppmenyn "File" och välja "Site Manager". Nästa steg är att lägga till en ny webbplats till din FTP-chef. I värdnamnsfältet skriver du ner adressen till din webbplats via FTP, i raden "Inloggningstyp", markerar "Begär lösenord" och fyll i din inloggningsinformation i kolumnen "Användare": inloggning och lösenord.

Du måste också konfigurera dataöverföringsparametrarna. Poängen är att klienten arbetar med två anslutningar till servern. En anslutning behövs för att skicka kommandon till webbhotellet, och den andra behövs så att du kan ladda ner och ladda upp data från servern. Du måste välja läget för dataanslutningen: aktiv eller passiv.

Och i passivt läge ges kommandon av servern, inte av klienten, vilket är mer logiskt. Ibland visar servern inte mappar i aktivt läge.

När du har definierat inställningarna kan du försöka gå in i webbhotellet - för detta klickar du på "Anslut" -knappen. Då visas ett popup-fönster där du behöver registrera lösenordet för FTP-serverkontot. När du väl är ansluten får du två kontrollpaneler i FileZilla. Å ena sidan kommer det att finnas en panel för att hantera datorns filsystem och å andra sidan för servern. Du måste hitta WWW-mappen i panelen där serverhanteraren finns. Domänen på din webbplats kommer att placeras inuti den. Öppna den, ta bort index.html direkt och förbered dig på att överföra data till servern från din dator. För att göra detta, välj filerna på din dator i en annan kontrollpanel och använd höger musknapp för att hitta objektet "Ladda upp till server".

Efter ett tag kommer de angivna filerna att laddas upp till webbhotellet. Det är inte svårt att ta reda på detta - de kommer att visas i serverns kontrollpanel. Observera att du kan använda FileZilla-klienten för mer än bara ett verktyg för att ladda upp data till en server eller dator. Genom det kan du enkelt hantera filsystemet: byta namn, redigera, visa, flytta, kopiera, radera eller skapa filer. FileZilla är mycket mer funktionell än standardutforskaren i Windows, så du kan utföra många olika operationer och åtgärder på servern.

Hur man bestämmer värdnamnet för en FTP-anslutning

Ibland är det så lätt att ansluta till servern eftersom värdnamnet för anslutningen är okänd. För att logga in på servern måste du gräva lite igenom värdinformationen för att ta reda på värdens namn. I annat fall kommer du inte att kunna ansluta din dator till hosting och ladda ner nödvändig data för det.

Som regel kan anslutningsdata hittas i administrationspanelen i webbhotellet. Observera att inloggningsinformationen för värdadministratörspanelen skiljer sig från data för anslutning till servern via FTP. Om du inte hittade några uppgifter i ditt personliga konto, gå till den brevlåda som du angav när du registrerade dig hos värdleverantören. Du borde ha fått ett meddelande som innehåller både värdnamn och användarnamn och lösenord för att logga in. Spara i så fall dessa data någon annanstans och ta bort själva bokstaven från datorn så att ingen annan kan se den.

Ibland känner igen anti-SPAM-systemet ett e-postmeddelande med FTP-inloggningsinformation som en virusdistribution. Kontrollera i så fall mappen där SPAM är lagrad. Om denna idé inte hjälpte, kontakta supporttjänsten. Vanligtvis svarar teknisk support alltid snabbt på de problem som värdleverantörens kunder stöter på. När allt kommer omkring betalar du pengar, därför är du en potentiell vinst för värd. Därför kommer attityden gentemot dig att vara mild, artig och reaktionen på det problem som har uppstått kommer att vara snabb och adekvat. Snart får du information om var data för inloggning på servern via FTP lagras. Informationen kommer inte att släppas direkt eftersom de inte har tillgång till sådan information.

Är det möjligt att logga in på FTP-servern med standardfunktioner i Windows

Det händer att det inte finns något sätt att slösa bort tid på att ladda ner och installera tredjepartsapplikationer för att komma in på servern. I sådana situationer kan du använda Windows-operativsystemets standardfunktioner, som är tillräckliga för att gå till servern och ladda upp webbplatsfiler där.

Du måste öppna explorer och valfri mapp. Alternativt kan du öppna Den här datorn. Överst ser du sökvägen till den här katalogen. Du måste radera den och i stället för den här sökvägen skriver du data för inloggning på FTP-servern via ftp: //. Data måste anges i en tydlig ordning. Först bör du ange inloggningen för att komma in på servern, sedan skriva lösenordet utan mellanslag åtskilda av ett kolon, sedan ange @ och omedelbart skriva värdnamnet eller dess IP-adress för anslutning utan mellanslag.

Därefter öppnas FTP-servern direkt på din dator i utforskaren. Det vill säga, du kommer att få en känsla av att det finns på din dator, och inte på fjärrvärd. Genom att öppna en annan mapp med filer kan du dra nödvändiga data till servern. De använder speciella klienter eftersom utforskaren inte är så bekväm att arbeta med servern. Att hålla två mappar öppna utan säkerhet är obekvämt jämfört med FileZIllas smarta gränssnitt.

Du kan också logga in på servern med ftp: // Serverbegäran (det vill säga värdnamnet), men då måste du ange din inloggning och ditt lösenord för att logga in. Som du kan se är allt väldigt enkelt och det finns inget övernaturligt med FTP.

FTP (File Transfer Protocol) är ett av de standardprotokoll som skapades för TCP / IP och godkändes 1971. Den används för att ladda ner webbsidor från privata enheter till värdservrar.

Vad är FTP

Formellt betyder FTP att ansluta till en viss mapp på en server via Internet. Trots sin imponerande ålder används detta protokoll fortfarande idag för överföring av filer, åtkomst till fjärrvärdar och distribution av programvara.

Till skillnad från HTTP är FTP sessionbaserad, stöder användarautentisering och textläge och tillåter operationer på filsystemet. Huvudfunktionen är att flera (särskilt binära) anslutningar är möjliga med den. En av kanalerna är den kontrollerande - genom den skickas kommandon till servern och svar returneras. Resten används direkt för dataöverföring. Samtidigt låter FTP dig minska trafikkostnaderna och tiden du spenderar på att skicka stora filer.

FTP-funktioner

Standard UNIX-kommandon används för att arbeta med protokollet. En fullständig lista över dem kan hittas genom att skriva in specialraden "hjälp" eller "?". De mest använda kommandona är:

  • öppen - upprättar en anslutning till en FTP-webbplats. Den används vid åtkomst till olika servrar under en session. Kräver preliminär stängning av föregående FTP-webbplats med kommandot stänga;
  • användare - används för att ange användarnamn och lösenord för autentisering. Funktionen är nödvändig i fall där fjärrmaskinen tillåter användare med vissa parametrar;
  • hejdå eller sluta med - används parallellt med stänga, stänger alla länkar och avslutar programkörningen;
  • fjärrhjälp - öppnar hjälpinformation för kommandon som stöds av fjärr-FTP-servern.

När du arbetar med funktioner måste du följa följande regler:

  • använda tecknet "/" för att separera kataloger;
  • övervaka användningen av gemener och versaler (skiftläge är viktigt);
  • använd prefix som börjar med en punkt (valfritt).

Kommandon och oftast hjälpprogram för FTP-anslutningar låter dig ladda upp filer till servern från datorn och i motsatt riktning, samt ändra åtkomsträttigheterna till enskilda objekt.

FTP-anslutningsprogramvara

Specialiserad programvara används för att effektivt och tydligt arbeta med FTP-servrar. De flesta applikationer riktar sig inte bara till proffs utan även till nybörjare som enkelt kan klara det intuitiva gränssnittet. Låt oss ta en titt på de mest populära programmen som fungerar som FTP-klienter.

Långt Chef

Far Manager är ett exempel på en konsolfilhanterare utvecklad för Windows av den ryska programmeraren Yevgeny Roshal. Programmet har ett igenkännbart gränssnitt med två fönster och ett standardfärgschema i blått och vitt. Kontroll utförs via ett system med kommandon som matas in från tangentbordet. När du arbetar med FTP stöds åtkomst via olika typer av proxyservrar, sökning och ersättning av tecken i många filer utlöser ett automatiskt CV. Det är fri programvara.

Total befälhavare

Total Commander har sin egen FTP-klient som låter dig utföra alla standardåtgärder med filer och mappar: kopiera, klipp ut, skapa, byta namn, radera, visa, redigera. Observera att FTP-åtkomst sparas automatiskt i klienten och lagras okrypterad. Total Commander är fri programvara.

FileZilla

FileZilla är en populär FTP-klient med öppen källkod med ett flerspråkigt gränssnitt. Designad för Windows, Linux och Mac OS. Stöder FTP via SSL / TLS (aka FTPS), IPv6, IDN. Det fungerar med icke-latinska domänzoner, kan överföra stora filer (från 4 GB), låter dig konfigurera nedladdnings- och överföringshastighetsgränser. Drag-och-släpp-stöd, fjärrfilredigering, arbete med flikar och nedladdningskö implementeras. Det är fri programvara.

WinSCP är en praktisk grafisk FTP-klient. Designad för användning i Windows-miljö. Stöder kopiering av filer i ett skyddat läge, skriptautomatisering, integration med Pageant och sticker också ut med ett igenkännbart gränssnitt i stil med Norton Commander. Klienten har möjlighet att spara anslutningsinställningar, synkronisera mappar med anpassade algoritmer och har en inbyggd textredigerare. Det är fri programvara.

FireFTP är inte en fristående applikation utan ett tillägg för den populära Mozilla FireFox-webbläsaren. Ger åtkomst till FTP-servern på en separat flik. Efter installationen kan tillägget hittas i verktygspanelen. Klienten arbetar i tvåfönsterläge och låter dig utföra standardåtgärder: flytta, lägga till, byta namn på, ta bort. Implementerat stöd för flera konton, krypterade anslutningar, ändra åtkomsträttigheter till filer och redigera dem utan att först ladda ner till en dator. Det är fri programvara.

En specifik klient för arbete kan väljas utifrån vad FTP är för och vad är uppgifterna för att arbeta på servern.

Hur man ansluter till hosting via FTP

Välj lämplig klient och installera den på din dator. Använd sedan följande information för att logga in på värd:

  • inloggning och lösenord;
  • värd- eller serveradress;
  • port för anslutning (du måste ange "21").

Dessutom kan du behöva ange servertyp och inloggningsmetod. Därefter måste du klicka på knappen för att ansluta och börja arbeta med filer och mappar. För att välja vad du vill öppna FTP, se föregående punkt.

Denna artikel är ett försök att beskriva de viktigaste skillnaderna mellan de välkända FTP- och HTTP-kommunikationsprotokollen.

Vi har aktivt använt båda protokollen i vår huvudprodukt i många år, och under denna tid har vi mött många missuppfattningar och missförstånd om hur dessa två grundläggande Internetfilutbytesprotokoll fungerar.

Om du ser några fel eller felaktigheter, skriv om det.

varning: Det finns två termer på engelska: "upload" och "download". Det finns inga bra analoger på ryska, så för de filer som vi skickar från klienten till servern använder vi ordet "upload", och för de filer som vi tar till klienten från servern använder vi ordet "download".

Båda protokollen används för nedladdning och uppladdning av filer på Internet och lokala nätverk. För text och binär data. Båda protokollen körs över TCP / IP. Men det finns några stora skillnader mellan dem.

Överföringshastighet

Förmodligen är den vanligaste frågan vilken är snabbare för filöverföring, FTP eller HTTP?

Vad gör FTP snabbt?

  • det finns inga metabeskrivningar i den överförda strömmen, bara ren binär data. Referensdata går i en separat anslutning;
  • det finns ingen overhead för att koda överförda data.

Vad gör HTTP snabbt?

  • återanvändning av befintliga beständiga anslutningar förbättrar TCP-prestanda, ingen slösad tid med att skapa nya anslutningar;
  • pipelining gör det snabbare att begära flera filer från samma server;
  • (automatisk) trafikkomprimering minskar mängden överförd data, det kan öka överföringshastigheten under förutsättning av snabb klient och server och långsam kommunikationskanal
  • det finns inga kontrollkommandon i dataströmmen, detta sparar behandlingstid.

I slutändan beror naturligtvis nettoresultatet på de specifika detaljerna, men jag skulle säga att för enstaka statiska filer kommer du inte att kunna se en konkret skillnad.

För en liten enstaka fil och en långsam anslutning kommer FTP att göra det bättre. När du tar emot flera filer i rad (särskilt små filer), fungerar HTTP vanligtvis bättre.

Ålder

Fylla

Båda protokollen kan göra detta. FTP har kommandot "append", HTTP följer metoden "här är data, och du räknar själv ut vad du ska göra med det", det vill säga det finns inga kommandon för att hantera uppladdade filer.

Det bör sägas att det finns ett WebDAV-protokoll byggt ovanpå HTTP som gör att du kan arbeta med filer på det traditionella sättet som om de fanns på din lokala enhet.

ASCII-, EBCDIC- eller binära format

FTP är medveten om filformatet, så det kan överföra data i både ASCII och binär (rå byte). HTTP skickar alltid filer i binär form. Således kan FTP omvandla data i farten om den överförs mellan system med olika arkitekturer (Windows / Linux / mainframes).

Om avsändaren till exempel använder ett schema för att koda slutet på raden ("EOL" - End-Of-Line), och mottagaren använder ett annat, kommer FTP att göra det så att de förstår varandra. Unix använder endast NL-tecknet (newLine x0A), medan MS Windows använder två tecken i rad, CR och LF (CarriageReturn och LineFeed - x0D0A). EBCDIC-omkodning används på äldre stordatorer.

HTTP, i motsats till FTP, ger metadata för filer, "Content-Type". Således kan metadata användas av klienter för att tolka innehållet.

Rubriker

Filöverföringar via HTTP innehåller alltid en uppsättning rubriker som innehåller metadata. FTP överför aldrig några rubriker. I detta avseende kommer deras rubriker att utgöra en betydande del av trafiken när de överför ett stort antal små filer. HTTP-rubrikerna innehåller information om datum och tid för filändring, teckenkodning, servernamn och version etc.

Rörledningar eller transportörer

HTTP stöder pipelining. Det innebär att klienten kan begära en ny filöverföring innan den föregående avslutas, vilket gör det möjligt att ta bort förseningar när flera dokument i rad laddas upp. TCP-paket kommer således att optimeras för maximal överföringshastighet.

Något liknande, men inte riktigt lika, finns i FTP. Detta är stöd för flera förfrågningar för att hämta filer parallellt på en enda kontrollanslutning. Naturligtvis, för detta måste du använda nya TCP-anslutningar för att överföra binär data, en för varje fil, men inte alla FTP-servrar stöder sådana funktioner.

FTP-kommandon / svar

En FTP-klient kan skicka många kommandon till servern och ta emot svar från servern. Även överföring av en enda fil innebär en hel serie av sådana enkla kommandon. Detta har naturligtvis en negativ inverkan på hastigheten, eftersom varje kommando kräver bearbetning på två sidor: klienten och servern. På grund av detta uppstår förseningar. HTTP-dataöverföringar är oftast bara en begäran och ett svar (för varje fil). Att ta emot en fil via FTP kan ibland ta upp till ett dussin kommandon och svar mellan klient och server.

Två anslutningar

Ett av de största problemen med FTP i verkliga livet är användningen av två anslutningar. Det första är för att skicka kontrollkommandon och det andra för att överföra innehållet i filen. För detta ändamål öppnar den en separat TCP-ström varje gång. Om du överför 100 filer öppnas och stängs 100 TCP-anslutningar i tur och ordning.

Brandväggar och NAT

FTP använder två anslutningar: kontroll och dataöverföring. Dataanslutningen kan vara dubbelriktad och använda dynamiska portnummer. Detta ger huvudvärk för administratörer och kräver ofta brandväggar för att förstå FTP-specifikationerna på nätverksprotokollnivå för att säkerställa korrekt funktion.

Det betyder också att om båda sidor av anslutningen ligger bakom NAT kommer du troligtvis inte att kunna använda FTP.

Dessutom dödar NAT lediga anslutningar genom vilka det inte har skett någon dataöverföring under lång tid. Därför, under långa FTP-överföringar på långsamma kommunikationskanaler, befinner vi oss i en situation där anslutningen bryts eftersom NAT bestämde att den inte längre var aktiv.

För att förhindra att detta händer måste du skicka tomma kommandon från tid till annan för att hålla anslutningen "vid liv". Resultatet är liten men onödig trafik.

Aktiva och passiva lägen

FTP öppnar en andra anslutning i aktivt eller passivt läge. Om det aktiva läget fungerar (anslutningen initieras av servern) kommer det att finnas problem med anslutningen i komplexa nätverk, eftersom en sådan anslutning är omöjlig via NAT. Därför används i de flesta fall passivt läge när anslutningen endast görs från klientsidan.

Krypterade kontrollanslutningar

Eftersom brandväggar måste kunna "analysera benen" i FTP-kontrollanslutningen för att kunna öppna den andra binära dataanslutningen korrekt, finns det ett stort problem med krypterade anslutningar (FTP-SSL eller FTPS). När kontrollanslutningen väl har krypterats kan brandväggen inte längre tolka sina kommandon för att förstå när och hur den andra anslutningen mellan klienten och servern tillåts för överföring av binär data.

Dessutom tog utvecklingen av själva FTPS-standarden för lång tid, vilket ledde till att flera hybridversioner var dåligt kompatibla med varandra samtidigt.

Auktoriseringssystem

FTP och HTTP har flera dokumenterade autentiseringsmetoder. Båda protokollen erbjuder grundläggande autentisering av ren text (inloggning / lösenord). Men för HTTP finns det flera vanliga verifieringsmetoder som inte skickar lösenordet i klartext, till skillnad från FTP.

Ladda ner

Båda protokollen kan göra detta. Båda protokollen hade problem med att ladda ner filer som var större än 2 gigabyte, men det hör till det förflutna. I moderna klienter och servrar, på moderna operativsystem, finns detta problem inte längre.

Områden / Hämta CV

FTP stöder nedladdning och uppladdning samt återställning av trasiga anslutningar och fortsatt överföring i båda riktningarna. HTTP har endast nedladdningsåterställning, och när du laddar upp filer till servern är det ofta omöjligt att återställa en trasig anslutning och fortsätta att ladda upp.

Till skillnad från FTP stöder HTTP mer avancerade nedladdningsområden.

FTP har också problem med att återuppta anslutningar vid uppladdning eller nedladdning av filer, från ett segment som är större än 2 GB.

Ihållande anslutningar

En HTTP-klient kan behålla en ihållande anslutning till servern för valfritt antal filöverföringar.

För att undvika att stänga anslutningen när du inte kan berätta för fjärrsidan att filöverföringen redan har slutförts infördes den så kallade kodningen av överförda datablock (bitar) i HTTP.

Under överföringen skickar den sändande sidan dataströmmen i block (blockstorlek + själva data) tills de tar slut och sänder sedan ett block med noll längd för att signalera slutet på filen.

Förutom det faktum att anslutningen inte behöver stängas och öppnas för nya filer, är en annan uppenbar fördel med detta schema förmågan att upptäcka för tidiga strömavbrott under överföringen.

Kompression

HTTP ger servern och klienten möjlighet att förhandla om och välja en av kompressionsalgoritmerna. Gzip-algoritmen är kanske den mest använda. Det finns en mer modern brotli, men den stöds ännu inte helt av olika servrar och klienter, även om det ger bättre komprimering (upp till + 20%), särskilt på text html, javascript och css-filer.

FTP tillhandahåller den officiella inbyggda RLE-komprimeringen, men det är vanligtvis ineffektivt för de flesta binära data och textdata. Det finns många ytterligare "hackiga" implementeringar för komprimering av FTP-trafik, men ingen av dem har blivit officiella eller allmänt använda.

Fxp

FTP stöder tekniken för överföring av data från en server till en annan, som om överföringen utfördes direkt av klienten själv. Men på de flesta servrar är denna funktion stängd på grund av säkerhetsproblem, eftersom FXP-protokollet inte var väl utformat.

IPv6

Både HTTP och FTP fungerar bra med IPv6, men den ursprungliga FTP-specifikationen saknade IPv6-stöd, och därför har många servrar fortfarande inte rätt kommandon för att aktivera det. Detta gäller även brandväggar mellan klienter och servrar, som måste förstå FTP.

Namnbaserad virtuell hosting

Med HTTP 1.1 kan du enkelt vara värd för många webbplatser på en server, och alla skiljer sig åt efter deras namn.

I FTP kan du inte använda namnbaserad virtuell hosting alls förrän HOST-kommandot implementeras på servern du är ansluten till. Detta är en ny specifikation och används ännu inte i stor utsträckning.

Katalogsökning

I FTP kan du få en lista med filer från en mapp på en fjärrserver utan att ladda ner dem, medan det i HTTP inte finns någon sådan möjlighet.

På grund av det faktum att författarna till FTP-specifikationen bodde vid olika tidpunkter har kommandona för att lista filer i en katalog (LIST och NLST) inte ett väldefinierat utdataformat. Därför måste författarna till FTP-klienter skriva textparsers för att försöka gissa korrekt vilken typ av data servern skickar dem. Senare specifikationer (RFC3659) innehåller nya kommandon som MLSD, men de har ännu inte använts allmänt och stöds dåligt av olika servrar och klienter.

Listor över filer i kataloger via HTTP transporteras vanligtvis i text i HTML-format eller med WebDAV, som körs ovanpå HTTP.

Proxysupport

En av de stora fördelarna med HTTP över FTP är proxysupport som är inbyggt i det från början. Tekniken är felsökt och fungerar mycket bra. Många protokoll kan inkapslas i HTTP, som i ett slags "kuvert" för passage av proxyservrar.

FTP har alltid använts med proxyservrar, men det har aldrig standardiserats och har alltid krävt särskilda tillvägagångssätt från fall till fall.







2021 gtavrl.ru.