लेख
क्लाइंट-साइड प्रोसेसिंग क्या है?
अधिकांश फ़ाइल टूल आपके दस्तावेज को किसी दूरस्थ कंप्यूटर पर भेजकर काम करते हैं, जो भारी काम करता है और परिणाम वापस भेजता है। क्लाइंट-साइड प्रोसेसिंग इसे पलट देती है: आपका अपना ब्राउज़र काम करता है, और आपकी फ़ाइल आपके डिवाइस से बाहर नहीं जाती।
टूल काम करने के दो तरीके: आपकी मशीन या उनकी
सर्वर-साइड प्रोसेसिंग में फ़ाइल अपलोड करना कुछ-कुछ कपड़े धुलाई को सौंपने जैसा है: आप दे देते हैं, दूरस्थ मशीन उसे संभालती है, और आप बाद में परिणाम लेते हैं। क्लाइंट-साइड प्रोसेसिंग घर पर खुद कपड़े धोने जैसी है। टूल आपके ब्राउज़र टैब के अंदर चलता है, मेमोरी से फ़ाइल पढ़ता है, उसे प्रोसेस करता है और आपको आउटपुट देता है, बिना फ़ाइल के किसी नेटवर्क कनेक्शन को छुए। वेबसाइट को केवल एक बार प्रोसेसिंग कोड देना होता है। उसके बाद यह पूरी तरह आपकी तरफ काम करता है।
WebAssembly ब्राउज़र में क्या लेकर आया
कई वर्षों तक, ब्राउज़र केवल JavaScript चला सकते थे, जो इंटरफेस के लिए ठीक है लेकिन वीडियो री-एनकोडिंग या बड़ी इमेज कंप्रेस करने जैसे कामों के लिए बहुत धीमा है। WebAssembly (आमतौर पर WASM कहा जाता है) ने यह बदल दिया। यह एक कॉम्पैक्ट बाइनरी फॉर्मेट है जिसे ब्राउज़र लगभग नेटिव गति से चला सकते हैं, इसलिए C या C++ में लिखा गया कोड WASM में कंपाइल होकर बिना किसी प्लगइन के ब्राउज़र टैब में चल सकता है। वही कोडेक और कंप्रेशन लाइब्रेरी जो डेस्कटॉप सॉफ्टवेयर को शक्ति देती हैं, अब सीधे पेज में चलती हैं। JavaScript और WebAssembly मिलकर काम करते हैं: JavaScript इंटरफेस और समन्वय संभालता है, जबकि WASM संख्यात्मक गणनाएं करता है।
किसी काम के दौरान वास्तव में क्या होता है
जब आप किसी क्लाइंट-साइड टूल पर फ़ाइल डालते हैं, तो पेज एक छोटा प्रोसेसिंग इंजन (अक्सर एक WASM मॉड्यूल) लोड करता है अगर वह पहले से नहीं है, फिर JavaScript के ज़रिए आपकी फ़ाइल उसे सौंपता है। वास्तविक प्रोसेसिंग आमतौर पर एक पृष्ठभूमि थ्रेड पर चलती है जिसे Web Worker कहते हैं, जो काम होने के दौरान ब्राउज़र इंटरफेस को प्रतिक्रियाशील रखता है। आप इस दौरान कभी भी अपने ब्राउज़र का Network tab खोल सकते हैं, और आपकी फ़ाइल ले जाने वाला कोई अनुरोध दिखाई नहीं देगा। आउटपुट मेमोरी में तैयार होता है और आपको डाउनलोड के रूप में मिलता है।
ईमानदार समझौते जो आपको जानने चाहिए
जब आप पहली बार किसी बड़े WASM इंजन पर निर्भर टूल का उपयोग करते हैं, तो ब्राउज़र उस इंजन को डाउनलोड करके कैश करता है। बाद के उपयोग में डाउनलोड छूट जाता है और टूल पूरी तरह ऑफलाइन काम कर सकता है। चूंकि प्रोसेसिंग आपके डिवाइस पर चलती है, बहुत बड़ी फ़ाइल उतना समय लेती है जितना आपका CPU और उपलब्ध मेमोरी अनुमति दे, और कुछ भारी कामों में डेटा सेंटर तेज हो सकता है। बदले में आपको जो मिलता है वह वास्तविक है: आपकी फ़ाइल कभी प्रेषित नहीं होती, धीमे कनेक्शन पर अपलोड का इंतजार नहीं करना पड़ता, और पहली बार लोड होने के बाद टूल बिना इंटरनेट के चलता रहता है।
इस लेख में उल्लेखित टूल्स
- इमेज संपीड़ित करें बिना अपलोड किए इमेज का फ़ाइल आकार कम करें। गुणवत्ता स्लाइडर या KB में लक्ष्य आकार। बैच समर्थित।
- वीडियो संपीड़ित करें ब्राउज़र में H.264 री-एनकोड के माध्यम से वीडियो फ़ाइल का आकार कम करें। कोई अपलोड नहीं, कोई सर्वर नहीं।
- PDF फ़ाइलें मर्ज करें कई PDF फ़ाइलों को सीधे अपने ब्राउज़र में एक में मिलाएं।
अक्सर पूछे जाने वाले सवाल
क्या क्लाइंट-साइड प्रोसेसिंग का अर्थ स्वतः यह है कि मेरा डेटा निजी है?
क्लाइंट-साइड का मतलब है कि फ़ाइल डिज़ाइन से किसी सर्वर पर नहीं भेजी जाती, यही गोपनीयता को संभव बनाता है। आप इसे खुद जांच सकते हैं: फ़ाइल प्रोसेस करते समय अपने ब्राउज़र के डेवलपर टूल्स में Network tab खोलें, कोई भी बाहर जाने वाला अनुरोध आपकी फ़ाइल का डेटा नहीं ले जाना चाहिए। फिर भी, लेबल पर भरोसा करने के बजाय यह जांचना समझदारी है कि टूल वास्तव में ऐसे ही व्यवहार करता है।
टूल का पहला उपयोग कभी-कभी धीमा क्यों होता है?
ब्राउज़र को पहली बार उपयोग पर प्रोसेसिंग इंजन (WASM मॉड्यूल) डाउनलोड करना होता है, जिसमें उसके आकार और आपके कनेक्शन के अनुसार कुछ सेकंड लग सकते हैं। उसके बाद इंजन स्थानीय रूप से कैश हो जाता है, इसलिए बाद के सत्र तुरंत शुरू होते हैं और टूल ऑफलाइन भी काम करता है।