Web performance
ویب پرفارمنس سے مراد وہ رفتار ہے جس میں ویب صفحات ڈاؤن لوڈ کیے جاتے ہیں اور صارف کے ویب براؤزر پر دکھائے جاتے ہیں۔ ویب پرفارمنس آپٹیمائزیشن (ڈبلیو پی او)، یا ویب سائٹ آپٹیمائزیشن ویب پرفارمنس کو بڑھانے کے بارے میں علم کا شعبہ ہے۔ تیز ویب سائٹ ڈاؤن لوڈ کی رفتار کو زائرین کی برقرار رکھنے اور وفاداری اور صارف کی اطمینان میں اضافہ کرنے کے لیے دکھایا گیا ہے، خاص طور پر سست انٹرنیٹ کنکشن والے صارفین اور موبائل آلات پر موجود صارفین کے لیے۔ ویب کی کارکردگی بھی ویب پر سفر کرنے والے کم ڈیٹا کا باعث بنتی ہے، جو بدلے میں ویب سائٹ کی بجلی کی کھپت اور ماحولیاتی اثرات کو کم کرتی ہے۔ کچھ پہلو جو پیج لوڈ کی رفتار کو متاثر کر سکتے ہیں ان میں براؤزر/سرور کیش، امیج آپٹیمائزیشن، اور انکرپشن (مثال کے طور پر ایس ایس ایل) شامل ہیں، جو صفحات کو پیش کرنے میں لگنے والے وقت کو متاثر کر سکتے ہیں۔ ویب پیج کی کارکردگی کو ملٹی لیئرڈ کیش، پریزنٹیشن لیئر اجزاء کے ہلکے وزن کے ڈیزائن اور سرور سائیڈ اجزاء کے ساتھ غیر متزلزل مواصلات جیسی تکنیکوں کے ذریعے بہتر بنایا جا سکتا ہے۔ ویب کے وجود کی پہلی دہائی یا اس سے زیادہ عرصے میں، ویب کی کارکردگی میں بہتری بنیادی طور پر ویب سائٹ کوڈ کو بہتر بنانے اور ہارڈ ویئر کی حدود کو آگے بڑھانے پر مرکوز تھی۔ پیٹرک کلیلیا کی 2002 کی کتاب ویب پرفارمنس ٹیوننگ کے مطابق، استعمال کی جانے والی کچھ ابتدائی تکنیکیں سادہ سرولیٹس یا سی جی آئی کا استعمال کرنا، سرور میموری میں اضافہ کرنا، اور پیکٹ کے نقصان اور دوبارہ ترسیل کی تلاش کرنا تھیں۔ اگرچہ یہ اصول اب انٹرنیٹ ایپلی کیشنز کی زیادہ تر بہتر بنیاد پر مشتمل ہیں، لیکن وہ موجودہ اصلاح کے نظریہ سے اس لحاظ سے مختلف ہیں کہ براؤزر ڈسپلے کی رفتار کو بہتر بنانے کی کوشش بہت کم کی گئی تھی۔ سٹیو ساؤڈرز نے 2004 میں "ویب پرفارمنس آپٹیمائزیشن" کی اصطلاح تیار کی۔ اس وقت ساؤڈرز نے ویب پر "ابھرتی ہوئی صنعت" کے طور پر ڈبلیو پی او کے اثرات کے بارے میں کئی پیش گوئیاں کیں، جیسے کہ ویب سائٹس کا ڈیفالٹ کے طور پر تیز ہونا، استحکام، کارکردگی کے لیے ویب معیارات، اصلاح کے ماحولیاتی اثرات، اور ایک تفریق کار کے طور پر رفتار۔ 2007 میں ساؤڈرز نے جو ایک اہم نکتہ پیش کیا وہ یہ ہے کہ کسی ویب سائٹ کو ڈاؤن لوڈ کرنے اور دیکھنے میں کم از کم 80 فیصد وقت فرنٹ اینڈ ڈھانچے کے ذریعے کنٹرول کیا جاتا ہے۔ اس وقفے کے وقت کو براؤزر کے عام رویے کے ساتھ ساتھ ایچ ٹی ٹی پی کے کام کرنے کے طریقے کے بارے میں آگاہی کے ذریعے کم کیا جا سکتا ہے۔ آپٹیمائزیشن تکنیک ویب پرفارمنس آپٹیمائزیشن کسی ویب سائٹ پر جاتے وقت صارف کے تجربے (یو ایکس) کو بہتر بناتی ہے اور اس لیے ویب ڈیزائنرز اور ویب ڈویلپرز کی طرف سے انتہائی مطلوب ہے۔ وہ کئی تکنیکوں کو استعمال کرتے ہیں جو ویب پیج لوڈ کے اوقات کو کم کرنے کے لیے ویب آپٹیمائزیشن کے کاموں کو ہموار کرتے ہیں۔ اس عمل کو فرنٹ اینڈ آپٹیمائزیشن (ایف ای او) یا مواد کی اصلاح کے نام سے جانا جاتا ہے۔ ایف ای او فائل کے سائز کو کم کرنے اور "کسی دیئے گئے صفحے کو لوڈ کرنے کے لیے درکار درخواستوں کی تعداد کو کم کرنے" پر توجہ مرکوز کرتا ہے۔ ذیل میں درج تکنیکوں کے علاوہ، مواد کی ترسیل کے نیٹ ورک کا استعمال-دنیا بھر میں مختلف مقامات پر پھیلے ہوئے پراکسی سرورز کا ایک گروپ-ایک موثر ترسیل کا نظام ہے جو نیٹ ورک کی قربت کی بنیاد پر کسی مخصوص صارف کے لیے سرور کا انتخاب کرتا ہے۔ عام طور پر تیز ترین رسپانس ٹائم والا سرور منتخب کیا جاتا ہے۔ مندرجہ ذیل تکنیکیں عام طور پر استعمال ہونے والے ویب اصلاح کے کام ہیں اور ویب ڈویلپرز کے ذریعہ بڑے پیمانے پر استعمال ہوتے ہیں: ویب براؤزر ویب پیج ڈاؤن لوڈ کرتے وقت جمع کردہ ہر ہائپر ٹیکسٹ ٹرانسفر پروٹوکول (ایچ ٹی ٹی پی) کی درخواست کے لیے علیحدہ ٹرانسمیشن کنٹرول پروٹوکول (ٹی سی پی) کنکشن کھولتے ہیں۔ یہ درخواستیں ڈاؤن لوڈ کرنے کے لیے درکار صفحہ عناصر کی کل تعداد ہیں۔ تاہم، براؤزر صرف ایک میزبان کے ساتھ بیک وقت کنکشن کی ایک مخصوص تعداد کو کھولنے تک محدود ہے۔ رکاوٹوں کو روکنے کے لیے، وسائل کے استحکام کا استعمال کرتے ہوئے انفرادی صفحہ عناصر کی تعداد کو کم کیا جاتا ہے جس کے ذریعے چھوٹی فائلوں (جیسے تصاویر) کو ایک فائل میں جمع کیا جاتا ہے۔ اس سے ایچ ٹی ٹی پی کی درخواستیں اور ویب پیج کو لوڈ کرنے کے لیے درکار "راؤنڈ ٹرپس" کی تعداد کم ہو جاتی ہے۔ ویب صفحات کوڈ فائلوں جیسے جاوا اسکرپٹ اور ہائپر ٹیکسٹ مارک اپ لینگویج (ایچ ٹی ایم ایل) سے بنائے جاتے ہیں۔ جیسے جیسے ویب صفحات پیچیدگی میں بڑھتے ہیں، اسی طرح ان کی کوڈ فائلیں اور اس کے بعد ان کے لوڈ ہونے کا وقت بھی بڑھتا ہے۔ فائل کمپریشن کوڈ فائلوں کو 80 فیصد تک کم کر سکتا ہے، اس طرح سائٹ کے ردعمل کو بہتر بناتا ہے۔ ویب کیشنگ آپٹیمائزیشن سرور لوڈ، بینڈوتھ کے استعمال اور تاخیر کو کم کرتی ہے۔ سی ڈی این اپنے سسٹم سے گزرنے والے دستاویزات کی کاپیاں ذخیرہ کرنے کے لیے وقف ویب کیشنگ سافٹ ویئر کا استعمال کرتے ہیں۔ کیش سے آنے والی درخواستوں کو پورا کیا جا سکتا ہے اگر کچھ شرائط لاگو ہوں۔ ویب کیشے سی ڈی این کے کلائنٹ سائیڈ (فارورڈ پوزیشن) یا ویب سرور سائیڈ (ریورس پوزیشن) پر واقع ہوتے ہیں۔ ویب براؤزر ایچ ٹی ٹی پی کیش یا ویب کیش کے ذریعے دوبارہ استعمال کے لیے مواد کو ذخیرہ کرنے کے قابل بھی ہوتے ہیں۔ ویب براؤزر کی درخواستوں کو عام طور پر ایچ ٹی ٹی پی کیش پر بھیج دیا جاتا ہے تاکہ یہ تصدیق کی جا سکے کہ آیا کیش شدہ جواب کسی درخواست کو پورا کرنے کے لیے استعمال کیا جا سکتا ہے۔ اگر اس طرح کا میچ بنایا جاتا ہے، تو جواب کیش سے پورا ہوتا ہے۔ یہ نیٹ ورک کی تاخیر اور ڈیٹا کی منتقلی سے وابستہ اخراجات کو کم کرنے میں مددگار ثابت ہو سکتا ہے۔ ایچ ٹی ٹی پی کیش کو درخواست اور رسپانس ہیڈر کا استعمال کرتے ہوئے ترتیب دیا گیا ہے۔ کوڈ منیفیکیشن ویب ڈویلپرز کے لکھے ہوئے کوڈز اور نیٹ ورک عناصر کے کوڈ کی تشریح کرنے کے طریقے کے درمیان تضادات کو واضح کرتا ہے۔ منیفیکیشن کوڈ کو کم سے کم کرنے کے لیے تبصرے اور اضافی خالی جگہوں کے ساتھ ساتھ متغیر ناموں کو کچل دیتا ہے، جس سے فائلوں کا سائز 60 فیصد تک کم ہو جاتا ہے۔ کیشنگ اور کمپریشن کے علاوہ، نقصان دہ کمپریشن تکنیک (آڈیو فائلوں کے ساتھ استعمال ہونے والی تکنیکوں کی طرح) غیر ضروری ہیڈر کی معلومات کو ہٹا دیتی ہیں اور بہت سی ہائی ریزولوشن والی تصاویر پر اصل تصویر کے معیار کو کم کرتی ہیں۔ یہ تبدیلیاں، جیسے پکسل پیچیدگی یا رنگ کی درجہ بندی، اختتامی صارف کے لیے شفاف ہوتی ہیں اور تصویر کے ادراک کو نمایاں طور پر متاثر نہیں کرتی ہیں۔ ایک اور تکنیک ریزولوشن سے آزاد ویکٹر گرافکس کے ساتھ رسٹر گرافکس کی تبدیلی ہے۔ ویکٹر کا متبادل سادہ ہندسی تصاویر کے لیے بہترین موزوں ہے۔ تصاویر اور ویڈیو کی سست لوڈنگ ابتدائی پیج لوڈ ٹائم، ابتدائی پیج وزن، اور سسٹم ریسورس کے استعمال کو کم کرتی ہے، ان سب کا ویب سائٹ کی کارکردگی پر مثبت اثر پڑتا ہے۔ اس کا استعمال کسی شے کی ابتدا کو اس مقام تک موخر کرنے کے لیے کیا جاتا ہے جہاں اس کی ضرورت ہوتی ہے۔ براؤزر کسی پیج یا پوسٹ میں تصاویر کو ضرورت پڑنے پر لوڈ کرتا ہے جیسے کہ جب صارف پیج کو نیچے سکرول کرتا ہے اور تمام تصاویر کو ایک ساتھ نہیں، جو کہ ڈیفالٹ رویے ہے، اور قدرتی طور پر، زیادہ وقت لگتا ہے۔ HTTP/1. x اور HTTP/2 چونکہ ویب براؤزر متوازی صارف کی درخواستوں کے لیے متعدد TCP کنکشن استعمال کرتے ہیں، اس لیے نیٹ ورک کے وسائل کی بھیڑ اور براؤزر کی اجارہ داری پیدا ہو سکتی ہے۔ چونکہ ایچ ٹی ٹی پی/1 درخواستیں منسلک اوور ہیڈ کے ساتھ آتی ہیں، اس لیے ویب کی کارکردگی محدود بینڈوتھ اور استعمال میں اضافے سے متاثر ہوتی ہے۔ ایچ ٹی ٹی پی/1 کے مقابلے میں، ایچ ٹی ٹی پی/2 متن کے بجائے بائنری ہے جو آرڈر کرنے کے بجائے مکمل طور پر ملٹی پلیکسڈ ہے اور بلاک کیا گیا ہے لہذا متوازی کے لیے ایک کنکشن استعمال کر سکتا ہے ہیڈر کمپریشن کا استعمال اوور ہیڈ کو کم کرنے کے لیے سرورز کو کلائنٹ کیچز میں فعال طور پر ردعمل "پش" کرنے کی اجازت دیتا ہے۔ ویب سائٹ کے ہوسٹنگ سرور کے بجائے، سی ڈی این کو ایچ ٹی ٹی پی/2 کے ساتھ مل کر استعمال کیا جاتا ہے تاکہ اختتامی صارف کو ویب وسائل جیسے تصاویر، جاوا اسکرپٹ فائلیں اور کیسکیڈنگ اسٹائل شیٹ (سی ایس ایس) فائلوں کے ساتھ بہتر خدمت فراہم کی جا سکے کیونکہ سی ڈی این کا مقام عام طور پر اختتامی صارف کے قریب ہوتا ہے۔ میٹرکس حالیہ برسوں میں، کئی میٹرکس متعارف کرائے گئے ہیں جو ڈویلپرز کو اپنی ویب سائٹس کی کارکردگی کے مختلف پہلوؤں کی پیمائش کرنے میں مدد کرتے ہیں۔ 2019 میں گوگل نے میٹرکس متعارف کروائے جیسے ٹائم ٹو فرسٹ بائٹ (ٹی ٹی ایف بی)، فرسٹ کنٹینٹ فل پینٹ (ایف سی پی)، فرسٹ پینٹ (ایف پی)، فرسٹ ان پٹ ڈیلے (ایف آئی ڈی)، کمیولیٹو لے آؤٹ شفٹ (سی ایل ایس) اور لارجسٹ کنٹینٹ فل پینٹ (ایل سی پی) ویب سائٹ کے مالک کو ان مسائل کے بارے میں بصیرت حاصل کرنے کی اجازت دیتے ہیں جو ان کی ویب سائٹس کی کارکردگی کو نقصان پہنچا سکتے ہیں جس سے یہ صارف کو سست یا سست لگتا ہے۔ آن لوڈ ٹائم، کنکشن ٹائم، ٹوٹل پیج سائز سمیت دیگر میٹرکس نیٹ ورکنگ کی سطح پر ہونے والی تاخیر اور سست روی کی درست تصویر فراہم کرنے میں مدد کرتے ہیں جو کسی سائٹ کو سست کر سکتے ہیں۔ میٹرکس کی پیمائش کے لیے ماڈیولز جیسے ٹی ٹی ایف بی، ایف سی پی، ایل سی پی، ایف پی وغیرہ کو فرنٹ اینڈ جاوا اسکرپٹ لائبریریوں جیسے ریکٹ، نیوکسٹ جے ایس اور ویو کے ساتھ فراہم کیا جاتا ہے۔ گوگل ایک لائبریری شائع کرتا ہے، بنیادی ویب-اہم لائبریری جو فرنٹ اینڈ ایپلی کیشنز میں ان میٹرکس کی آسان پیمائش کی اجازت دیتی ہے۔ اس کے علاوہ، گوگل لائٹ ہاؤس، ایک کروم ڈیو ٹولز جزو اور پیج سپیڈ انسائٹ ایک ایسی سائٹ بھی فراہم کرتا ہے جو ڈویلپرز کو گوگل کے تجویز کردہ کم سے کم اور زیادہ سے زیادہ کے ساتھ اپنی ویب سائٹ کی کارکردگی کی پیمائش اور موازنہ کرنے کی اجازت دیتا ہے۔ اس کے علاوہ، موزیلا فائر فاکس کے نیٹ ورک مانیٹر جیسے ٹولز نیٹ ورک کی سطح کی سستیوں کے بارے میں بصیرت فراہم کرنے میں مدد کرتے ہیں جو ڈیٹا کی ترسیل کے دوران ہو سکتے ہیں۔ حوالہ جات ویب ڈویلپمنٹ