Jezdit autem sám je taky zoufale neefektivní, přesto existuje určité množství lidí, kteří se do vlaku nenaštosují. A když přijedou do práce autem, není to tak dokonalý, jako kdyby jeli vlakem, ale věřte mi, že jich neubude. Možná mají větší riziko havárie, ale zase se neumažou a nechytí chřipku.
Zoufale neefektivní je ztrácet čas lidí. V době kumutovaných plnohodnotných připojení k internetu bylo celkem efektivní přesvědčit člověka, aby si pro nahrání většího souboru nainstaloval software, naučil se s ním dělat a za x desítek hodin ho po modemu dostal na server.
V době pevných rychlých neplnohodnotných linek s několika firewaly na cestě a jediným povoleným portem 80 je nejefektivnější plácnout do webového formuláře input type="file". A věřte mi, že soubor nahraný přes http je docela stejně dokonalý, jako přes jakýkoliv jiný protokol.
Bylo by to nejefektivnější i pro soubory nad 2GB, kdyby autoři http klientů typu IE a FF rosuměli tomu, co je to RFC, věděli, že http hlavička "500 server error" neznamená "100 continue" a že "nelimitovaná velikost" dnes neznamená 31 bitů.
Jenže takhle musí rigidní ajťák říkat: No, víte, pro ten soubor, který chcete nahrát, si musíte nainstalovat Google chrome, protože to je jediný software, který jakž takž dodržuje navržené protokoly. Najdete jí tam a tam. A následuje několikahodinové školení a telefonáty, kterým jak ajťák, tak klient ztrácí drahocenný čas.
Chápu, že dávat desetigigový soubor přes http do SQL je srovnatelné.
Ale nahrávat 2GB video z browserů je dnes už celkem běžná akce. Většina dnešního SW umí se soubory nad 2GB normálně pracovat. Není důvod, proč by to neměli umět také http klienti.
No ono se vzdycky ukaze, ze to neni jedina cesta :-)
Jenom nekdo tomu klientovi musi vysvetlit, ze pacha stejne smysluplny cin, jako je zatloukani sroubu kladivem. Dokonce i se setejnym vysledkem - nakonec to tam nabusite. Otazka je jen, kdy a za jakych nakladu.
No, neni. Často je to ovšem jediná cesta. A máme i klienty, kteří chtějí dostat přes http desítky GB a pak je ještě nacpat do SQL. Taky nevím, k čemu je to dobré.
Dnešní soubory ale do gigabajtů dorostly, některé servery také, principielně žádný problém není. Kromě těch blbě navržených klientů.
V RFC žádný limit není jak pro GET, tak pro POST ale většina klientů ho omezuje a pro GET považuje něco nad 4kB za množství "větší než malé". A pokud MS píše "However, the POST method is not limited by the size..." tak tím myslí: 64kB paměti je dostatečné pro každého programátora :-)
Většina netového software byla navržena v době, kdy 31 bitů bylo strašně moc a 2GB limit si nikdo nedokázal představit. Takže takový IE umí 2GB, stejně jako FF, IIS zvládně 4GB. FF i IE se při poslání 3GB souboru nerozpakují poslat hlavičku
Content-Length: -1243515235
a jen ten FF se při tom začervená.
Až třeba Chrome či Opera ve svých jádrech respektují RFC a to omezení posouvají na standardních 63 bitů, které nám snad nějakou dobu vydrží a dneska vypadaji skoro jak bez limitu. A ty staré klienty a servery snad taky někdo časem přeprogramuje ...
Upřesnění: HTTP/1.1 je v RFC2616 (možná právě pro PATCH by se mohlo ješté zmínit i RFC2617).
Jednou již algoritmus pro opravy, který by snad mohl být použitelný i pro PATH (a to i třeba binárně pro obrázky), vyšel. A to v RFC3284.
P.S.
To teď takhle na školách každý musí honem honem honit publikační činnost, ať si pak za to sype popel na hlavu nebo ne. To se totiž do počtu publikací již nezahrnuje. Prostě pořád taková socialisticko-akademická publikační mánie, kterou máme opět předehnat Ameriku. (Již sice ne ve spolupráci se Sovětským svazem, ale s Evropskou unií.)
Eh, sypu si popel na hlavu, RFC 2068 mi dokonale uniklo. Je přitom zmíněno přímo v RFC 5789, ovšem v příloze pojmenované "Acknowledgements", kterou jsem přeskočil. Na HTTP/1.1 jsem se díval do RFC 2161 a dotazy na Google také neukázaly nic zajímavého (vesměs to nové RFC a drafty k němu vedoucí)... Čili jsem si opravdu myslel, že to je nové, zatímco se PATCH jen pokouší vrátit. Omlouvám se.
V tom pripade Vam ten patent bude zneplatnen, protoze pred 13 letyto bylo zpasano do RFC. Jestli to tedy neni z Vasi strany april, a opravdu to technici ve vasi firme ktera je zamerena na IT nevedi, tak vim ktere spolecnosti se urcite vyhnout z duvodu zasadni neznalosti problematiky.
Pavle, nejak jsem nepochopil, co je na tom novyho? Tuto metodu zavadi uz HTTP 1.1 definovane v RFC 2068, ktere bylo definovane jiz v lednu 1997, takze 13 let stara novinka? Sice RFC 2116, ktere aktualizuje HTTP 1.1 metodu PATCH explicitne nezminuje, ale obsahuje jstejne odkaz na RFC2068 s tim ze to je neobvykla, ale stale platna metoda.
konečně ! Naše firma tuto metodu vynalezla už před 9 lety, nechali jsme si ji nenápadně patentovat a dodnes čekáme až ji začne svět masivně používat. Cca za rok začneme uplatňovat naše licenční práva po všech provozovatelích webových serverů. Cena bude velmi mírná: 1,- EUR za 1 vykonanou PATCH.