![]() Specializovaný týdeník o výpočetní technice o Internetu (CW 26/97) HTTPng, HTTP 1.1, WebNFS, CIFS -- drmolení zaklínače?Jan Stoklasa
HTTP 1.1 není jediným kandidátem, který se o zrychlení WWW služeb chce postarat. Současně s ním přicházejí další bojovníci proti pomalému WWW. Představíme si je všechny najednou. Zkratky v titulku tedy nejsou drmolením zaklínače, ale nadějí pro uživatele WWW.
Starci na Webu -- HTTP a FTP Klasické přenosové protokoly Internetu jsou sice normou, která už velmi dlouho slouží, ale to je tak jediné, co se dá říct v jejich prospěch. Technický pohled na jejich vlastnosti vede spíše k překvapení až úděsu -- cože, tak na tomhle běhá nejmodernější technologie dneška, informační superdálnice? Vždyť by se dalo zlepšit tohle, tohle, tohle... A o tom přesně jsou nové protokoly.
FTP je neumělé FTP, neboli File Transfer Protocol, je už podle svého názvu určen k přenosu souborů. Neumí nic jiného, a to je v dnešním světě dynamických WWW málo. Jeho technické provedení není jinak světoborné. Otevírá si dvě TCP spojení -- jedno kontrolní, druhé datové. Už to je docela luxus -- jedno spojení, používané oběma směry, by posloužilo naprosto stejně. FTP je určeno nejen k přenosu souborů, ale také ke vzdálenému přístupu na souborový systém jiného počítače. Věc, užitečná pro Intranet více než na Internetu. Tady FTP nabízí opravdové minimum. Vlastně jenom příkazy typu změň adresář, vypiš obsah adresáře, nahraj dané soubory, ulož dané soubory. Hned dva problémy trápí uživatele -- závislost FTP na použitém operačním systému (výpisy obsahu adresářů nemají standardní tvar) a nemožnost obnovit přerušený přenos (v definici protokolu je, ale vůbec se nepoužívá). Tyto slabiny FTP musejí napravovat klienti a FTP servery. Závislost na operačním systému se chytří klienti a servery snaží maskovat. Protože FTP neukazuje strukturu adresářů, klienti si ji kešují. Proto mohou existovat FTP klienti, kteří pěkně ukazují stromek adresářů -- FTP jim v tom nepomohlo, prostě museli celé adresáře "prolézt" a uchovat. Tím se také brání proti přerušení spojení. Mohou se znovu připojit a procházet adresáře i na hlubších úrovních. Existují tedy nástroje pro sdílení souborů, běžící nad FTP, není to ale ideální.
HTTP 1.0 je rozmařilé Toto expresivní označení je možná poněkud kruté, ale nemohu si pomoci. Na HTTP 1.0 je vidět, že nepočítalo se svým úspěchem, a zpočátku mířilo spíše do oblasti LAN. Začnu jeho lepšími vlastnostmi. HTTP není jenom na přenos souborů, je orientován objektově -- podporuje akce. Nejčastěji používanou akcí je získání objektu (odpovídá nahrání souboru), ale akce přidání dat pod dané URL se také hodí (databáze). Na přenosových linkách Internetu je potřeba šetřit každý bajt. S tím ovšem HTTP 1.0 nepočítá. Klidně pro každý objekt na WWW stránce otevírá nové spojení, takže díky košatosti WWW stránek po Internetu proudí spousta zbytečných bajtů. Trápí se i servery -- podle výzkumu tráví průměrný WWW server většinu svého výpočetního času čekáním na uzavření HTTP spojení. Většinou jen proto, aby mohl hned otevřít další spojení. Pro sdílení souborů není HTTP určeno. Spíše počítá s prohlížením propojených stránek, zápis do nich už je horší. Můžete změnit celý soubor (příkazem Post), ale efektivní to není. Pro plné sdílení souborů, které je potřeba například v Intranetu, není HTTP 1.0 vůbec určen.
HTTP 1.1 je lepší Myšlenka HTTP 1.1 je jednoduchá -- odstranit největší chyby v návrhu HTTP 1.0. Je poměrně jasné, které rysy bylo potřeba přidat: -- stálá spojení v HTTP 1.1 (Oproti zavření spojení po přenosu jednoho datového objektu v HTTP 1.0 šetří přenosovou kapacitu.) -- dopracovaná podpora kešování (Kešování je v HTTP 1.0 nedostatečné, takže se mnohdy ani nepoužívá.) -- nahrávání části objektu (V HTTP 1.0 je možné, ale nepoužívá se. Po pádu spojení je nutné celý soubor nahrát od začátku.)
HTTPng -- bratr ve zbrani Stejnou myšlenku jako HTTP 1.1 má HTTPng, pocházející z dílny jiné pracovní skupiny. Jeho návrh se objevil dokonce dříve než návrh HTTP 1.1, současná situace ale více přeje HTTP 1.1. Za standard bude vybrán ten protokol, který získá největší podporu. Nyní, ačkoliv v popularitě vede HTTP 1.1, přesto se trochu budeme věnovat i HTTPng. Jméno HTTPng vtipně koresponduje s přezdívkou nového IP protokolu (IPng = IP new generation, HTTPng = HTTP new generation). Jeho hlavní charakteristikou jsou živá spojení a doplněné bezpečnostní prvky (resp. volná místa pro doplnění bezpečnostních prvků).
NFS Tento protokol pro sdílení souborů na lokální síti navrhla firma Sun už někdy začátkem 80. let. V té době byl samozřejmě určen pro sdílení souborů na sítích LAN, s nějakým Internetem nebo hypertextem se nepočítalo. Proto běhaly první verze NFS nad nespolehlivým přenosovým protokolem UDP, velikost přenosového bloku byla omezena na 8 kb, psaní do souboru nesměl server kešovat. Zlepšení v tomto směru přineslo NFS verze 3.0. Zmizela vazba na protokol UDP, padlo omezení velikosti, přibyla operace COMMIT, která umožňuje kešování. Tím pádem se NFS stalo protokolem pro sdílení souborů i v rámci Intranetu, k podpoře hypertextu už chyběl jenom krůček.
WebNFS -- krůček byl učiněn Sun se rozhodl, že nabídne alternativu k protokolu HTTP. Touto alternativou je právě osvědčený protokol NFS, doplněný potřebnými rysy. Ty jsou v zásadě dva -- veřejný bod přístupu (public filehandle) a rozebírání cesty k souboru (multi-component lookup). Veřejný bod přístupu reaguje na přirozený požadavek -- anonymní uživatel chce mít možnost získávat data ze serveru. V základním NFS musí každý projít přihlašovací procedurou na tzv. Mount serveru, kde dostane tzv. souborový handle. Ten potom zašle spolu s požadavkem. WebNFS používá veřejný "handle". (Omlouvám se za toto ošklivé slovo, ale jeho trefný český ekvivalent neznám.) Tento "handle" má speciální, obecně známou hodnotu (samé nuly, resp. nulová délka). Od tohoto základního přístupového bodu se může klient odpíchnout, další "handly" (na nižší adresáře) získá v odpovědi na svůj požadavek. Rozebírání cesty k souboru na straně serveru šetří počet komunikačních "otoček" při přístupu do vnořených adresářů. Vysvětlíme si to na příkladu: Klient chce přistoupit k souboru /books/internet/navody/uvod.html. Pokud používá WebNFS, vezme veřejný "handle" a pošle požadavek, obsahující tento "handle" a cestu /books/internet/navody/uvod.html. Se starým NFS by musel cestu posílat po kouskách -- "books", "internet", "navody", "uvod.html", přičemž by mu server pokaždé poslal handle na adresář, kterým prochází. Pokud nás zajímá jenom koncový soubor, pak je postupný sestup adresáři zbytečný. Sun navrhuje rozšíření URL systému o další druh adres. Ten by měl následující schéma: nfs://server:port/cesta, používal by se v podstatě stejně jako http schéma. Tím by se WebNFS stalo protokolem pro sdílení souborů i přenosovým protokolem služby WWW.
CIFS Tento souborový protokol od firmy Microsoft je vlastně rozšířením nativního systému Windows -- NetBIOSu na rozměr celého Internetu. To je jeho síla (velké rozšíření) i slabina (některé obskurní rysy a bezpečnostní problémy). Protokol je určen pouze pro sdílení souborů, s WWW nad CIFS se nepočítá. Zdá se, že NFS a CIFS budou na Internetu existovat společně.
Souborové systémy Internetu Všimněme si požadavků, které bývají na internetovské souborové protokoly kladeny
| <<< | CW o Internetu | COMPUTERWORLD | IDG CZ homepage | |