DNS Prefetching

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

📍 يعني إيه DNS Prefetching؟

ببساطة، الـ DNS Prefetching هو أسلوب بيخلي المتصفح يعمل استباق لتحويل الدومينات اللي محتمل تزورها قريب، قبل ما المستخدم يضغط على اللينك أو قبل ما اللينك يشتغل.

يعني إيه الكلام ده؟

يعني المتصفح بيحاول يعرف عنوان الـ IP الخاص بالدومين أو الموقع اللي اللينك بتاعه موجود في الصفحة عشان يكون جاهز بسرعة لو المستخدم ضغط عليه.


📍 ليه بنحتاج الـ DNS Prefetching؟

خليني أقولك إن كل ما يكون فيه روابط كتير في الصفحة، والمتصفح يحتاج يعرف العناوين الخاصة بيها قبل ما يقدر يجيب البيانات، الموضوع بياخد وقت.

كل رابط محتاج تحويل أو DNS Lookup عشان يوصل للمكان اللي بيخزن عليه المحتوى.

التحويل ده ممكن ياخد وقت خاصة لو كان فيه أكتر من دومين مختلف. الـ DNS Prefetching بيخلي المتصفح يخلص الحكاية دي بسرعة من غير ما يستنى المستخدم، وبكده بيكون جاهز لما ييجي دور الرابط.


📍 إزاي الـ DNS Prefetching بيشتغل؟

⚙️ المتصفح بيعمل استباق للدومين: يعني المتصفح بيقول لنفسه "اللينك ده هيستخدم دومين مختلف؟ طيب خليني أجيب عنوان IP بتاعه من دلوقتي".

⚙️ التقليل من وقت الـ DNS Lookup: لما المستخدم يضغط على الرابط، المتصفح بالفعل عنده عنوان الـ IP الخاص بالموقع الجاي، وبالتالي مفيش وقت هيضيع في محاولة الوصول للمكان.


📍 امتى نستخدم الـ DNS Prefetching؟

الـ DNS Prefetching يعتبر فكرة كويسة لو عندك موقع فيه لينكات كتير لمصادر خارجية زي مكتبات الـ JavaScript، الصور، الخطوط، أو إعلانات.

يعني لو الموقع بتاعك فيه مكتبات JavaScript مستوردة من دومينات خارجية، زي مكتبة الخطوط من جوجل أو أي حاجة من دومينات تانية، يبقى الـ DNS Prefetching فكرة ممتازة عشان السرعة تكون أعلى والمستخدم ما يلاحظ أي تأخير.


📍 إيه فائدة الـ DNS Prefetching للمستخدم؟

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


📍 إزاي نستخدمه في الكود؟

هنضيف الوسم الخاص بالـ DNS Prefetching في الـ head وهيكون بالشكل ده:

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

السطر ده بيخلي المتصفح يجهز عنوان الـ IP الخاص بالدومين المحدد في الوسم.


بالتوفيق يا بطل 💪🏻