Artykuł
Czym jest przetwarzanie po stronie klienta?
Większość narzędzi do plików działa, wysyłając Twój dokument do zdalnego komputera, który wykonuje ciężką pracę i odsyła wynik. Przetwarzanie po stronie klienta odwraca ten schemat: Twoja własna przeglądarka wykonuje pracę, a plik nigdy nie opuszcza Twojego urządzenia.
Dwa sposoby działania narzędzia: Twoje urządzenie lub ich serwer
Przy przetwarzaniu po stronie serwera przesłanie pliku przypomina oddanie prania do pralni: przekazujesz je, zdalna maszyna się nim zajmuje, a Ty odbierasz wynik później. Przetwarzanie po stronie klienta jest bardziej jak pranie w domu. Narzędzie działa w karcie przeglądarki, odczytuje plik z pamięci, przetwarza go i oddaje Ci wynik, bez kontaktu pliku z jakimkolwiek połączeniem sieciowym. Strona musi dostarczyć kod przetwarzania tylko raz. Potem wszystko dzieje się po Twojej stronie.
Co WebAssembly wniósł do przeglądarki
Przez lata przeglądarki mogły uruchamiać tylko JavaScript, co sprawdza się przy interfejsach, ale jest zbyt wolne do zadań takich jak ponowne kodowanie wideo czy kompresja dużego obrazu. WebAssembly (często skracane do WASM) to zmieniło. Jest to kompaktowy format binarny, który przeglądarki mogą wykonywać z prędkością zbliżoną do natywnej, więc kod napisany pierwotnie w C lub C++ można skompilować do WASM i uruchomić w karcie przeglądarki bez żadnych wtyczek. Te same kodeki i biblioteki kompresji, które napędzają oprogramowanie desktopowe, działają teraz bezpośrednio na stronie. JavaScript i WebAssembly współpracują ze sobą: JavaScript obsługuje interfejs i koordynację, podczas gdy WASM zajmuje się obliczeniami.
Co naprawdę dzieje się podczas zadania
Gdy przeciągasz plik na narzędzie po stronie klienta, strona ładuje mały silnik przetwarzania (często moduł WASM), jeśli jeszcze tego nie zrobiła, a następnie przekazuje Twój plik do niego przez JavaScript. Właściwe przetwarzanie zazwyczaj odbywa się w wątku działającym w tle, zwanym Web Worker, który utrzymuje interfejs przeglądarki reaktywnym podczas pracy. W dowolnym momencie możesz otworzyć zakładkę Sieć w przeglądarce i żadne żądanie zawierające Twój plik nie pojawi się. Wynik jest składany w pamięci i oferowany Ci jako plik do pobrania.
Uczciwe kompromisy, które powinieneś znać
Przy pierwszym użyciu narzędzia opartego na dużym silniku WASM przeglądarka pobiera ten silnik i umieszcza w pamięci podręcznej. Kolejne użycia pomijają pobieranie i mogą działać w pełni offline. Ponieważ przetwarzanie odbywa się na Twoim urządzeniu, bardzo duży plik zajmuje tyle czasu, ile pozwala Twój procesor i dostępna pamięć, a centrum danych ukończyłoby niektóre ciężkie zadania szybciej. To, co otrzymujesz w zamian, jest realne: Twój plik nigdy nie jest przesyłany, nie ma czekania na upload przy wolnych łączach, a narzędzie działa bez internetu po pierwszym załadowaniu.
Narzędzia w tym artykule
- Kompresuj obrazy Zmniejsz rozmiar pliku obrazu bez przesyłania. Suwak jakości lub docelowy rozmiar w KB. Obsługa wsadowa.
- Kompresuj wideo Zmniejsz rozmiar wideo przez ponowne kodowanie H.264 w przeglądarce. Bez przesyłania, bez serwera.
- Łączenie plików PDF Połącz wiele plików PDF w jeden bezpośrednio w przeglądarce.
Najczęściej zadawane pytania
Czy przetwarzanie po stronie klienta automatycznie oznacza, że moje dane są prywatne?
Po stronie klienta oznacza, że plik z założenia nie jest wysyłany na serwer, co właśnie umożliwia ochronę prywatności. Możesz to potwierdzić samodzielnie, otwierając zakładkę Sieć w narzędziach deweloperskich przeglądarki podczas przetwarzania pliku: żadne wychodzące żądanie nie powinno zawierać danych Twojego pliku. Mimo to warto sprawdzić, czy narzędzie rzeczywiście tak się zachowuje, zamiast ufać tylko etykiecie.
Dlaczego pierwsze użycie narzędzia bywa wolniejsze?
Przeglądarka musi przy pierwszym użyciu pobrać silnik przetwarzania (moduł WASM), co w zależności od jego rozmiaru i połączenia może zająć kilka sekund. Potem silnik jest przechowywany lokalnie w pamięci podręcznej, więc kolejne sesje startują natychmiast, a narzędzie działa offline.