Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: ZAJDAN 25. 10. 2016, 12:21:44
-
Ahoj...
Scenář:
webový formulař obsahuje SVG(5-10MB), které se odesláním formuláře odešle jako XML string na server, tam se uloží zpět do SVG a vloží do generovaného PDF, které se pošle zpět do okna klientova prohlížeče.
Rychlost generování PDF je tedy synchroní s rychlostí upload linky na straně klienta.
Cíl:
urychlit proces generovaní PDF pomocí zmenšení odesílaných dat ze strany klienta na server
-------------------------------------------------------------------------------
nemáte tip jak před odesláním Ajaxem XML komprimovat?
-
Cece ja ti teda nevim, ale nekomprimuje ono http tak nejak od prirody? Teda pokud se srv i klient prihlasi k tomu, ze to umi. Jinak je to vseobecne protokol pro prenos vetsich objemu dat naprosto nevhodnej.
Jinak se da zcela jiste napsat klidne celej zip, jen bude vysledek presne nula.
-
Cece ja ti teda nevim, ale nekomprimuje ono http tak nejak od prirody? Teda pokud se srv i klient prihlasi k tomu, ze to umi. Jinak je to vseobecne protokol pro prenos vetsich objemu dat naprosto nevhodnej.
Jinak se da zcela jiste napsat klidne celej zip, jen bude vysledek presne nula.
Covece to nevim ani ja, pac na Apachi se pise:
'The mod_deflate module provides the DEFLATE output filter that allows output from your server to be compressed before being sent to the client over the network.'
Ale jak je to u apache s input, to by mne zajimalo. Mozna se na to cele spatne divam...
-
Nevím o tom, že by existoval http standard pro kompresi dat odesílaných na server. Běžná http komprese funguje pro stažení dat ze serveru do browseru (a musí být na serveru povolena pro daný mime typ a browser ji musí podporovat).
Pro upload by ale mělo jít použít existující javascriptové knihovny pro kompresi a xml komprimovat před odesláním a na serveru zase dekomprimovat.
-
Pro upload by ale mělo jít použít existující javascriptové knihovny pro kompresi a xml komprimovat před odesláním a na serveru zase dekomprimovat.
mas nejaky ozkouseny tip? samotne jquery to neumi...aspon jsem nic nevylustil
-
mas nejaky ozkouseny tip? samotne jquery to neumi...aspon jsem nic nevylustil
Ne, nic otestovaného nemám. Je potřeba pohledat a otestovat. Jsou toho tuny, stačí zadat do google "javascript compression library"...
- https://github.com/cscott/compressjs
- https://github.com/Stuk/jszip/
- https://github.com/nodeca/pako
- https://github.com/pieroxy/lz-string/
- ...
Pokud to má být používané veřejně z internetu, bude hlavní kompatibilita a fallback chování.
-
Komprese dat při http přenosech je standartní věc, obvykle umí snad každý prohlížeč a podpora na serveru musí být povolená. Používám to skoro všude a je to samozřejmě nejrychlejší varianta (obvykle v C).
Zkusil bych tedy jít tímto směrem, klient to umí téměř vždy, server je třeba postrčit.
-
Komprese dat při http přenosech je standartní věc, obvykle umí snad každý prohlížeč a podpora na serveru musí být povolená. Používám to skoro všude a je to samozřejmě nejrychlejší varianta (obvykle v C).
Zkusil bych tedy jít tímto směrem, klient to umí téměř vždy, server je třeba postrčit.
Která přesně HTTP hlavička nese informaci o kompresi dat v požadavku (tj. při uploadu)? A jak se řeší to, zda danou kompresi podporuje server? U downloadu je to jasné, klient pošle požadavek se seznamem podporovaných metod, server z nich vybere nějakou, kterou podporuje, tu použije.
-
Která přesně HTTP hlavička nese informaci o kompresi dat v požadavku (tj. při uploadu)? A jak se řeší to, zda danou kompresi podporuje server? U downloadu je to jasné, klient pošle požadavek se seznamem podporovaných metod, server z nich vybere nějakou, kterou podporuje, tu použije.
http://serverfault.com/questions/56700/is-it-possible-to-enable-http-compression-for-requests
-
http://serverfault.com/questions/56700/is-it-possible-to-enable-http-compression-for-requests
To odpovídá jen na tu první část. Jaký je obvyklý/doporučený postup pro detekci, zda a jaké kódování tělo požadavku server podporuje?
-
no ted mi docvakla jeste jedna vec...ze ja to Ajaxem posilam na PHP a pokud to zkomprimuju nejakou JS knihovnou tak tomu PHP nebude rozumet a bude potreba dalsi čáry máry :(
-
no ted mi docvakla jeste jedna vec...ze ja to Ajaxem posilam na PHP a pokud to zkomprimuju nejakou JS knihovnou tak tomu PHP nebude rozumet a bude potreba dalsi čáry máry :(
Stačí v PHP zavolat inverzní funkci k té javascriptové.
-
To odpovídá jen na tu první část. Jaký je obvyklý/doporučený postup pro detekci, zda a jaké kódování tělo požadavku server podporuje?
Asi žádný, buď to server umí a vrátí 200, nebo to server neumí a vrátí 500. To už si musí rozhodnout Zajdan, jak to chce provozovat a jestli umí zařídit, aby server kompresi requestu podporoval.
-
To odpovídá jen na tu první část. Jaký je obvyklý/doporučený postup pro detekci, zda a jaké kódování tělo požadavku server podporuje?
Asi žádný, buď to server umí a vrátí 200, nebo to server neumí a vrátí 500. To už si musí rozhodnout Zajdan, jak to chce provozovat a jestli umí zařídit, aby server kompresi requestu podporoval.
server mam pod kontrolou, je to Apache...snazil jsem se pochopit dokumentaci a chapu to dobre?, ze do virtualhostu pro dany web pridam:
SetInputFilter DEFLATE
-
Stačí v PHP zavolat inverzní funkci k té javascriptové.
díky za info