हमारे वेब ऐप्लिकेशन का दायरा, महत्वाकांक्षा, और काम करने की क्षमता लगातार बढ़ रही है. यह अच्छी बात है. हालांकि, समृद्ध वेब की ओर बढ़ते कदम एक दूसरे रुझान को बढ़ावा दे रहे हैं: हर ऐप्लिकेशन से डाउनलोड किए जाने वाले डेटा की मात्रा में लगातार बढ़ोतरी हो रही है. बेहतरीन परफ़ॉर्मेंस देने के लिए, हमें हर बाइट की डिलीवरी को ऑप्टिमाइज़ करना होगा!
मॉडर्न वेब ऐप्लिकेशन कैसा दिखता है? HTTP संग्रह इस सवाल का जवाब देने में हमारी सहायता कर सकता है. यह प्रोजेक्ट ट्रैक करता है कि समय-समय पर सबसे लोकप्रिय साइटों (Alexa प्रमुख 1M सूची में से 300,000+) को क्रॉल करके और हर एक गंतव्य के लिए संसाधनों की संख्या, सामग्री प्रकार, और अन्य मेटाडेटा को रिकॉर्ड और एग्रीगेट करके वेब का निर्माण कैसे किया जाता है.
ऊपर दिए गए डेटा से पता चलता है कि जनवरी 2013 से जनवरी 2014 के बीच, वेब पर लोकप्रिय डेस्टिनेशन के लिए डाउनलोड की गई बाइट की संख्या में कितनी बढ़ोतरी हुई. बेशक, हर साइट की तरक्की एक जैसी नहीं होती या हर साइट को एक जैसा डेटा की ज़रूरत नहीं होती. इसलिए, हम डिस्ट्रिब्यूशन में अलग-अलग मात्राओं को हाइलाइट कर रहे हैं: 50वां (मीडियन), 75वां, और 90वां.
2014 की शुरुआत में एक मीडियन साइट 75 अनुरोधों से मिलकर बनती है, जो ट्रांसफ़र किए गए कुल बाइट का 1054 KB तक होती है और पिछले साल के दौरान बाइट की कुल संख्या (और अनुरोधों) में एक जैसी रफ़्तार से बढ़ोतरी होती है. यह अपने-आप में हैरान करने वाली बात नहीं होनी चाहिए. हालांकि, इससे परफ़ॉर्मेंस पर काफ़ी असर पड़ता है: हां, इंटरनेट की स्पीड तो तेज़ हो रही है, लेकिन अलग-अलग देशों में इंटरनेट की स्पीड अलग-अलग हो रही है. साथ ही, कई उपयोगकर्ताओं को अब भी डेटा की सीमा और सीमित डेटा वाले प्लान का सामना करना पड़ रहा है - खासकर मोबाइल पर.
उनके डेस्कटॉप समकक्षों के विपरीत, वेब ऐप्लिकेशन को किसी अलग इंस्टॉलेशन प्रक्रिया की आवश्यकता नहीं होती: URL दर्ज करें और हम तैयार हैं और चल रहे हैं -- यह वेब की एक मुख्य सुविधा है. हालांकि, ऐसा करने के लिए हमें अक्सर दर्जनों और कभी-कभी सैकड़ों अलग-अलग संसाधन हासिल करने होते हैं, जिनमें से सभी का डेटा मेगाबाइट तक इकट्ठा हो सकता है. साथ ही, हमें सैकड़ों मिलीसेकंड में एक साथ मिलकर काम करना चाहिए, ताकि हम उस झटपट वेब अनुभव को बेहतर बना सकें जिसके लिए हम काम कर रहे हैं.
इन शर्तों को ध्यान में रखते हुए, वेब पर तुरंत ऐक्सेस पाना कोई आसान काम नहीं है. इसलिए, कॉन्टेंट की परफ़ॉर्मेंस को ऑप्टिमाइज़ करना बेहद ज़रूरी है. जैसे: ग़ैर-ज़रूरी डाउनलोड खत्म करना, अलग-अलग कंप्रेशन तकनीकों के ज़रिए हर रिसॉर्स के ट्रांसफ़र की एन्कोडिंग ऑप्टिमाइज़ करना, और जब भी मुमकिन हो ग़ैर-ज़रूरी डाउनलोड को हटाने के लिए कैश मेमोरी का फ़ायदा लेना.