Artikel
Hvad er klientsidebehandling?
De fleste filværktøjer fungerer ved at sende dit dokument til en fjerncomputer, der udfører det tunge arbejde og sender et resultat tilbage. Klientsidebehandling vender det om: din egen browser klarer arbejdet, og din fil forlader aldrig din enhed.
To måder et værktøj kan fungere på: din maskine eller deres
Med serversidebehandling minder det at uploade en fil lidt om at aflevere vasketøj til renseri: du afleverer det, en fjernmaskine tager sig af det, og du henter resultatet senere. Klientsidebehandling minder mere om at vaske tøj derhjemme. Værktøjet kører i din browserfane, læser filen fra hukommelsen, behandler den og giver dig resultatet, alt sammen uden at filen rører nogen netværksforbindelse. Websitet behøver kun levere behandlingskoden én gang. Herefter fungerer alt på din side.
Hvad WebAssembly bragte til browseren
I årevis kunne browsere kun køre JavaScript, som er fint til grænseflader, men for langsomt til opgaver som at genkode en video eller komprimere et stort billede. WebAssembly (som regel forkortet WASM) ændrede det. Det er et kompakt binært format, som browsere kan afvikle med nærmest nativ hastighed, så kode, der oprindeligt er skrevet i C eller C++, kan kompileres til WASM og køre i en browserfane uden plugins. De samme codecs og komprimeringsbiblioteker, der driver desktopsoftware, kører nu direkte på siden. JavaScript og WebAssembly arbejder sammen: JavaScript håndterer grænsefladen og orkestreringen, mens WASM klarer de talintensive beregninger.
Hvad der faktisk sker under et job
Når du trækker en fil ind på et klientsideværktøj, indlæser siden en lille behandlingsmotor (ofte et WASM-modul), hvis den ikke allerede har gjort det, og sender derefter din fil til den via JavaScript. Den faktiske behandling kører typisk på en baggrundstråd kaldet Web Worker, som holder browsergrænsefladen responsiv, mens arbejdet foregår. Du kan åbne browserens Netværksfane når som helst under dette, og ingen forespørgsel, der bærer din fil, vil dukke op. Resultatet samles i hukommelsen og tilbydes dig som et download.
Ærlige afvejninger, du bør kende
Første gang du bruger et værktøj, der er afhængigt af en stor WASM-motor, downloader og cacher browseren den motor. Senere brug springer downloaden over og kan fungere fuldt offline. Fordi behandlingen kører på din enhed, tager en meget stor fil så lang tid, som din processor og tilgængelig hukommelse tillader, og et datacenter ville afslutte nogle tunge opgaver hurtigere. Det, du får til gengæld, er reelt: din fil transmitteres aldrig, der er ingen ventetid på upload ved langsomme forbindelser, og værktøjet fortsætter med at fungere uden internet efter den første indlæsning.
Værktøjer i denne artikel
- Komprimer billeder Reducer billedfilstørrelse uden at uploade. Kvalitetsskyder eller målfilstørrelse i KB. Batch understøttet.
- Komprimer video Reducer videofilstørrelse via H.264-genkodning i browseren. Ingen upload, ingen server.
- Flet PDF-filer Kombiner flere PDF-filer til én direkte i din browser.
Ofte stillede spørgsmål
Betyder klientsidebehandling automatisk, at mine data er private?
Klientside betyder, at filen ikke sendes til en server af design, hvilket er det, der gør privatlivet muligt. Du kan bekræfte det selv ved at åbne fanen Netværk i din browsers udviklerværktøjer, mens du behandler en fil: ingen udgående forespørgsel bør indeholde din fils data. Alligevel er det fornuftigt at tjekke, at et værktøj virkelig opfører sig på denne måde, frem for blot at stole på mærkaten.
Hvorfor er den første brug af et værktøj nogle gange langsommere?
Browseren skal downloade behandlingsmotoren (WASM-modulet) første gang du bruger den, hvilket kan tage et par sekunder afhængigt af dens størrelse og din forbindelse. Herefter caches motoren lokalt, så efterfølgende sessioner starter med det samme, og værktøjet fungerer offline.