الثلاثاء، 12 ديسمبر 2017

التقليل من استهلاك الباندوييث

بسم الله الرحمن الرحيم


الكثير من أصحاب المواقع والمنتديات خصوصاً التي تزيد تطوراً مع الزمن.. أو التي يزيد عدد زوارها.. تلاقي أصحاب هذه المواقع والمنتديات يعانون مشاكل مع استهلاك حجم بيانات الباندويث..

فكل صورة أو مقطع صوتي أو فلاشي أو فيديو يفتحه العضو أو الزائر ينقص هذا من حجم بيانات الباندويث بحسب حجم ما فتحه..
فيضطر صاحب الموقع أو المنتدى إلى دفع المال ليزيد من حجم بيانات الباندويث..
أو يعرض المشكلة على مبرمج ويخمه كم فلوس ويصنع له ملف لحل المشكلة طبعاً على حسب المبرمج.. بعضهم يستخدم طرق عديدة لتقليص استهلاك الباندويث..

على العموم راح نعرض واحدة من الطرق الفعالة لتقليل استهلاك تلك البيانات.. وتعتمد هذه الطريقة على الاستفادة من جهاز كل عضو أو زائر..

افتح ملف فارغ بالمفكرة وسمه (.htaccess) << لاحظ أن أول ما تكتب من اسم الملف النقطة هذه (.)

انسخ الكود هذا وضعه بالملف..

ExpiresActive On 
ExpiresByType image/gif "access 1 week"  
ExpiresByType image/jpg "access 1 week"  
ExpiresByType image/jpeg "access 1 week"  
ExpiresByType image/bmp "access 1 week" 
ExpiresByType image/png "access 1 week"  
ExpiresByType text/css "access 1 week"  
ExpiresByType text/js "access 1 week"  
ExpiresByType application/x-shockwave-flash "access 1 week"  
ExpiresByType application/x-javascript  "access 1 week"

ثم احفظه ثم ارفعه على الملجد الرئيسي للموقع عادة يكون اسم المجلد (www)..
وبكذا خففت من استهلاك الباندويث خلاص انتهت السالفة ^_^..
على العموم نأتي لشرح الكود لتتضح الصورة وتفهم ما الذي عملته..

السطر الأول اللي هو هذا (ExpiresActive On) :

هذا السطر دائماً يكتب في السطر الأول من ملف (.htaccess) ليخبر السيرفر أن الأكواد القادمة هي أكواد لهذا الملف..

ExpiresByType image/gif "access 1 week"  
ExpiresByType image/jpg "access 1 week"  
ExpiresByType image/jpeg "access 1 week"  
ExpiresByType image/bmp "access 1 week" 
ExpiresByType image/png "access 1 week"  
ExpiresByType text/css "access 1 week"  
ExpiresByType text/js "access 1 week"  
ExpiresByType application/x-shockwave-flash "access 1 week"  
ExpiresByType application/x-javascript  "access 1 week"

هذا الكود يقوم بحفظ نسخة من الملفات المحددة في الكود ويقوم بنسخها في جهاز العضو أو الزائر.. حتى إذا رجع الزائر مرة أخرى ليتصفح الموقع أو المنتدى يقوم الكود بإجبار المتصفح على أن يأخذ تلك الملفات من جهاز العضو أو الزائر..
بالتالي استفدنا من المساحات الموجودة في أجهزة الزوار والأعضاء ^_^.. وهذا يقلل كثيراً من استهلاك الباندويث.. ويزيد من سرعة تصفح الموقع أو المنتدى لأنه لن يحتاج لفتح تلك الملفات من المنتدى أو الموقع لأنها موجودة في جهازه يفتحها المتصفح مباشرة من الجهاز.. حتى أن بعض المتصفحات تعمل الطريقة أتوماتيكياً للمواقع التي يزورها جهازك بكثرة حتى وإن لم يكن ملف الـ htaccess موجود بالموقع أو المنتدى.. وهذا أحد الأسباب التي يجعلها متصفحات سريعة..

- والآن توضيح الكود السابق :

السطر الأول (ExpiresByType image/gif "access 1 week")..
في هذا السطر قلنا للمتصفح أن يستدعي الصور اللي امتدادها (gif) من جهاز الزائر أو العضو.. وإن لم تكن موجودة فقم بحفظ نسخة من الصور الموجودة على الموقع واللي امتدادها (gif) في جهاز العضو أو الزائر..
("access 1 week") << هذا الجزء من السطر يعني احفظها لمدة اسبوع واحد فقط.. طبعاً يمديك تعدل الفترة الزمنية إلى شهر أو سنة.. فإذا كنت تبغاها شهر مثلاً غير كلمة (week) إلى (month).. وإذا تبغاها سنة غيرها إلى (year)..

طبعاً الناس اللي تضع الفترة سنة أعتقد أنهم بالغوا في تقليل الاستهلاك.. لأن بيانات الباندويث تتجدد كل شهر أتوماتيكياً..
وبرضه راح تثقل أجهزة زوار موقعك أو منتداك.. في سنة تلاقيك غيرت استايلات وصور وكل شيء وتلاقي صور الاستايات القديمة وغيرها لا زالت في جهاز العضو.. لذلك إذا كان الزوار كثر وأنت بحاجة لبيانات الباندويث فالأفضل أن تجعل الزمن شهر واحد فقط وهو أفضل شيء بالنسبة لي..

طبعا السطر الثاني نفس الأول لكن للصور اللي امتدادها (jpg)..
والثالث للي امتدادها (jpeg).. وهكذا كل سطر خاص بإمتداد معين..

- فيه مشكلة أخرى لاحظتها عند بعض مستخدمي الملف (.htaccess) خصوصاً الناس اللي تاخذ الأكواد نسخ ولصق بدون ما تفهمها.. وهذه المشكلة هي :

- على سبيل المثال هذا السطر : ExpiresByType image/gif "access 1 week"
عرف صاحبنا إنه يحفظ نسخة من ملفات الـ (gif) في جهاز العضو ولما يتصل بالموقع المتصفح يأخذها من جهازه.. قام صاحبنا وعنده مثلاً صفحة لرفع الملفات على الموقع وتلاقي ملفات الضغط كثيرة عنده ويبغى يختصر..

وقام أضاف مثلاً هذا الكود :

ExpiresByType image/zip "access 1 week"  
ExpiresByType image/rar "access 1 week"  
ExpiresByType image/mp4 "access 1 week"  
ExpiresByType image/flv "access 1 week" 
ExpiresByType image/wav "access 1 week" 
ExpiresByType image/mp3 "access 1 week"

طبعاً الكود خاص بملفات الضغط (zip و rar).. وملفات الفيديو (mp4 و flv).. وملفات الصوت (wav و mp3).. وهذه الملفات عادة ما يكون حجمها كبير بالتالي راح يظهر ثقل غير طبيعي في جهاز العضو عند تصفحه للموقع أو المنتدى..
وشفت بعض أصحاب المواقع يستخدمها لا والطامة الكبرى يخلي الفترة الزمنية (year).. فيلاقي تصفح موقعه أصبح ثقيل وعزف الزوار عن تصفحه لثقل التصفح.. وهذا نتيجة النسخ واللصق بدون فهم..

- ملاحظة : بعض السيرفرات تمنع استخدام هذا الملف على استضافتها علشان يخلوك تضطر لزيادة حجم الباندويث وتدفع لهم فلوس.. ولكن هذا نادر ما يحدث..

هذا ما عندي والله أعلم..

وما عاد إلا سلامتكم.. وفي أمان الله..

بقلم : مزيد مرير..

ليست هناك تعليقات:

إرسال تعليق