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 | |