कॉन्टेंट बेहतर तरीके से काम करना

इल्या ग्रिगोरिक
इलिया ग्रिगोरिक

हमारे वेब ऐप्लिकेशन का दायरा, महत्वाकांक्षा, और काम करने का तरीका लगातार बढ़ रहा है. यह अच्छी बात है. हालांकि, समृद्ध वेब की ओर लगातार बढ़ रहे रुझान एक और रुझान को बढ़ावा दे रहे हैं: प्रत्येक ऐप्लिकेशन के डाउनलोड किए जाने वाले डेटा की मात्रा स्थिर गति से बढ़ रही है. बेहतरीन परफ़ॉर्मेंस देने के लिए, हमें हर बाइट की डिलीवरी को ऑप्टिमाइज़ करना होगा!

आधुनिक वेब ऐप्लिकेशन कैसा दिखता है? एचटीटीपी संग्रह की मदद से हम इस सवाल का जवाब दे सकते हैं. यह प्रोजेक्ट ट्रैक करता है कि समय-समय पर सबसे ज़्यादा लोकप्रिय साइटों (Alexa Top 1M सूची से 3,00,000+) को क्रॉल करके वेब कैसे तैयार किया गया है और हर अलग-अलग डेस्टिनेशन के लिए संसाधनों की संख्या, कॉन्टेंट टाइप, और अन्य मेटाडेटा के आंकड़ों को रिकॉर्ड और इकट्ठा कैसे किया जाता है.

एचटीटीपी संग्रह के रुझान

50वां पर्सेंटाइल 75वां पर्सेंटाइल 90वां पर्सेंटाइल
एचटीएमएल 13 केबी 26 केबी 54 केबी
इमेज 528 केबी 1213 केबी 2384 केबी
JavaScript 207 केबी 385 केबी 587 केबी
सीएसएस 24 केबी 53 केबी 108 केबी
अन्य 282 केबी 308 केबी 353 केबी
कुल रकम 1054 केबी 1985 केबी 3486 केबी

ऊपर दिया गया डेटा, जनवरी 2013 और जनवरी 2014 के बीच वेब पर लोकप्रिय डेस्टिनेशन के लिए, डाउनलोड होने वाले बाइट की संख्या में हुई बढ़ोतरी के रुझान को दिखाता है. बेशक, हर साइट समान दर से आगे नहीं बढ़ती या उसे समान मात्रा में डेटा की ज़रूरत नहीं होती. इसलिए, हम डिस्ट्रिब्यूशन में अलग-अलग संख्या को हाइलाइट कर रहे हैं: 50वां (मीडियन), 75वां, और 90वां.

2014 की शुरुआत में एक मीडियन साइट 75 अनुरोधों से मिलकर बनी थी, जिसे ट्रांसफ़र किए गए कुल बाइट का 1054 KB तक बढ़ाया गया है. साथ ही, पिछले साल के दौरान, बाइट की कुल संख्या (और अनुरोधों) में एक समान गति से बढ़ोतरी हुई है. अपने-आप में यह बात हैरान नहीं होनी चाहिए, लेकिन इससे परफ़ॉर्मेंस पर असर पड़ता है: हां, इंटरनेट की स्पीड तेज़ हो रही है, लेकिन अलग-अलग देशों में इंटरनेट की स्पीड अलग-अलग हो रही है. साथ ही, कई उपयोगकर्ताओं को अब भी डेटा कैप और सीमित डेटा वाले महंगे प्लान का सामना करना पड़ता है, खास तौर पर मोबाइल पर.

उनके डेस्कटॉप वर्शन से अलग, वेब ऐप्लिकेशन को अलग से इंस्टॉल करने की प्रक्रिया की ज़रूरत नहीं होती है: यूआरएल डालें और हम काम शुरू कर रहे हैं और काम कर रहे हैं -- यह वेब की एक मुख्य सुविधा है. हालांकि, ऐसा करने के लिए हमें अक्सर दर्जनों और कभी-कभी कई तरह के कई संसाधनों को फ़ेच करना पड़ता है. इनमें से सभी संसाधनों का डेटा मेगाबाइट तक बढ़ सकता है और इन्हें सैकड़ों मिलीसेकंड में एक साथ इकट्ठा करना पड़ता है, ताकि हम चाहते हैं कि उन्हें झटपट वेब अनुभव का बेहतर अनुभव मिल सके.

इन ज़रूरतों को ध्यान में रखते हुए इंस्टैंट वेब अनुभव देना कोई छोटी उपलब्धि नहीं है. इसलिए, कॉन्टेंट के काम करने के तरीके को ऑप्टिमाइज़ करना अहम है: गै़र-ज़रूरी डाउनलोड को खत्म करना, अलग-अलग कंप्रेशन तकनीकों से हर रिसॉर्स की ट्रांसफ़र एन्कोडिंग को ऑप्टिमाइज़ करना, और ग़ैर-ज़रूरी डाउनलोड खत्म करने के लिए जब भी संभव हो कैश मेमोरी का इस्तेमाल करना.