U3F1ZWV6ZTM0NTIzODMzMTA4X0FjdGl2YXRpb24zOTExMDczOTY4MTg=
recent
الأخبار التقنية

كيفية زيادة سرعة الموقع بإستخدام تقنية الجلب المسبق أو الـ DNS prefetching ؟

الجلب المسبق أو الـ DNS prefetching هو طريقة لتحسين أداء الواجهة الأمامية لموقعك. يمكننا استخدامه لإخبار المتصفح بالأصول (في الواقع فقط النطاقات التي توجد فيها هذه الأصول) التي قد يحتاجها المستخدم في المستقبل - حتى قبل أن يحتاج إليها. باستخدامه، يتم تحميل الصفحة بشكل أسرع، ويمكن للمستخدمين تحقيق أهدافهم في أسرع وقت ممكن. في هذه المقالة، سأوضح لك كيفية تسريع موقعك باستخدام تقنية الجلب المسبق أو الـ DNS prefetching.



كيفية زيادة سرعة الموقع بإستخدام تقنية الجلب المسبق أو الـ DNS prefetching ؟


ما هو الجلب المسبق أو الـ DNS prefetching ؟



يتم استخدام نوع علاقة ارتباط dns-prefetch للإشارة إلى أصل سيتم استخدامه لجلب الموارد المطلوبة ، ويجب على وكيل المستخدم حله في أقرب وقت ممكن.


عندما تحتوي صفحة الويب على موارد يتم تحميلها من نطاقات مختلفة ، يُعلم الجلب المسبق لنظام أسماء النطاقات متصفح الويب أن هناك أصول ويب ، مثل ملف بيانات أو صورة أو ملف صوتي ، ستكون مطلوبة لاحقًا من عنوان URL محدد. ونتيجة لذلك، يمكن للمتصفح حل DNS (خادم أسماء النطاقات) بأسرع ما يمكن في الخلفية.

يعد تنفيذ تقنية الجلب المسبق لنظام أسماء النطاقات عملية سهلة حقًا. يتم ذلك عن طريق إضافة  link  علامة مع  "rel="dns-prefetch  بداخل العنصرين  <head/><head>  تبدو علامة الرابط النهائي كما يلي:



<link rel="dns-prefetch" href="//www.example.com">

تشير علامة الرابط أعلاه بشكل أساسي إلى "أريد حل اسم النطاق  www.example.com  قبل أن يتم استدعاؤه".

لا تضف  //:http  أو  //:https  ، واستخدم  //  بدلاً من ذلك. بهذه الطريقة سيعمل DNS بغض النظر عن البروتوكول المستخدم.


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



<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="dns-prefetch" href="//www.example.com">
<link rel="dns-prefetch" href="//www.example.com">
</head>
<body>

يمكنك المضي قدمًا واستخدام تقنيات أخرى بالاشتراك مع "الجلب المسبق لنظام أسماء النطاقات"، مثل "dns-prefetch" و "Preconnect" و "Prerender" و "Preload". لكن هذه قصة أخرى.

التحكم في الجلب المسبق أو الـ DNS prefetching

بشكل افتراضي، لا تقوم متصفحات الويب بجلب أسماء المضيف مسبقًا في الارتباطات التشعبية التي تظهر في صفحات HTTPS. يساعد هذا التقييد في منع التنصت من استنتاج أسماء المضيفين للارتباطات التشعبية التي تظهر في صفحات HTTPS استنادًا إلى حركة مرور الجلب المسبق لـ DNS.

قد يسيء مؤلف المحتوى الفضولي (على سبيل المثال، معلق على مدونة) الجلب المسبق لنظام أسماء النطاقات لمحاولة مراقبة عرض المحتوى الذي يحتوي على روابط. على سبيل المثال، الروابط ذات النطاقات الفرعية الجديدة، عند حلها أثناء الجلب المسبق، قد تخطر محلل النطاق بأنه تم عرض الارتباط، حتى إذا لم يتم النقر عليه. في بعض هذه الحالات، قد ترغب السلطة التي تخدم المحتوى (مثل مالك مدونة أو خادم بريد الويب) في منع مثل هذه المراقبة المسيئة.

للسماح لمشرفي المواقع بالتحكم فيما إذا تم تمكين الجلب المسبق لنظام أسماء النطاقات أو تعطيله، فإن متصفحات الويب تتضمن آلية تحكم الجلب المسبق لنظام أسماء النطاقات. يمكن استخدامه لتشغيل الجلب المسبق لنظام أسماء النطاقات لصفحات HTTPS، أو إيقاف تشغيله لصفحات HTTP.

تراقب متصفحات الويب عنوان HTTP لنموذج  X-DNS-Prefetch-Control  (غير حساس لحالة الأحرف) بقيمة  on  أو  off . يغير هذا الإعداد السلوك الافتراضي للمحتوى المعروض. يمكن استخدام العلامة الوصفية  http-equiv  التي تحمل الاسم نفسه لإجراء تغييرات على السياسة داخل الصفحة. إذا اخترت صفحة بشكل صريح الخروج من الجلب المسبق، فسيتم تجاهل المزيد من محاولات الاشتراك.


على سبيل المثال ، قد يؤدي الجزء التالي من رأس HTTP إلى قيام المتصفح بجلب (ب) و (د) مسبقًا وليس (أ) أو (ج).



<a href="http://www.example.com">(أ) لا يتم الجلب المسبق</a>

<meta http-equiv = "x-dns-prefetch-control" content = "on">
<a href="http://www.example.com">(ب) يتم الجلب المسبق</a>


<meta http-equiv = "x-dns-prefetch-control" content = "off">
<a href="http://www.example.com">(ج) تم تعطيل الجلب المسبق</a>


<meta http-equiv = "x-dns-prefetch-control" content = "on">
<a href="http://www.example.com">(د) يتم الجلب المسبق</a>

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

ما هي المواقع التي يجب استخدامها مع خاصية الجلب المسبق الـ DNS prefetching؟

بعض المواقع الشائعة لاستخدامها مع خاصية الجلب المسبق (DNS prefetching) هي المواقع التي تستخدم الـ CDN وخطوط Google وGoogle Analytics وما إلى ذلك. أعلم أن المثال دائماً ما يكون أكثر وضوحاً من مجرد وصف للإجراءات ، لذا إليك مثال.

فيما يلي قائمة بأسماء النطاقات أو الدومينات التي تم جلبها مسبقاً:


يمكنك تحميلها من هنا

تحميل

يمكنك استخدام أي مجموعة من علامات الرابط أعلاه وفقًا لحاجتك.

التوافق مع المتصفح


يتم دعم الجلب المسبق لنظام أسماء النطاقات من قبل جميع المتصفحات الرئيسية (Safari 5.0 + و IE 9.0 + و Firefox 3.5 + و Google Chrome) ، باستثناء iOS Safari و Opera Mini و Android Browser.

لا يتم دعم كل تقنية مدرجة أعلاه عبر جميع المتصفحات. يمكنك مشاهدة دعم المتصفح لكل تقنية في الروابط أدناه:


DNS prefetch
Prefetch
Preconnect
Prerender
Preload


هذا كل شيء، لقد انتهيت. بهذه البساطة أليس كذلك؟

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

بعد تطبيق تقنية الجلب المسبق (DNS prefetching)، يمكنك استخدام أي أداة خارجية عبر الإنترنت للتحقق من أداء موقعك.
فيما يلي أداتان لاختبار سرعة موقعك:


اختبار Webpage
اختبار سرعة موقع Pingdom



آمل أن تكون هذه المقالة قد ساعدتك على تعلم كيفية تسريع موقعك باستخدام تقنية الجلب المسبق. إذا ساعدتك هذه المقالة، فالرجاء ترك تعليق


شكرا للقراءة !

الوسوم :
الاسمبريد إلكترونيرسالة