ماذا يحدث في الثانية التي تكتب فيها اسم موقع وتضغط Enter؟ رحلة خفية تحدث قبل ظهور الصفحة
تفتح المتصفح، وتكتب اسم موقع تعرفه، ثم تضغط Enter.
بعد لحظات تظهر الصفحة أمامك.
عملية عادية نفعلها عشرات المرات، لدرجة أننا لا نفكر فيما يحدث خلالها.
لكن خلف هذه الثواني القليلة تبدأ سلسلة مذهلة من العمليات الرقمية:
يبحث جهازك عن عنوان الموقع، ويتواصل مع خوادم بعيدة، ويؤسس اتصالًا، ويتحقق من الأمان، ويرسل طلبًا، ثم يستقبل ملفات وتعليمات ويحوّلها في النهاية إلى الصفحة التي تراها أمامك.
كل ذلك قد يحدث أسرع من الوقت الذي تحتاجه لقراءة هذه الجملة.
فماذا يحدث فعلًا بعد الضغط على Enter؟
الخطوة الأولى: المتصفح يحاول معرفة أين يوجد الموقع
نحن نتعامل مع المواقع بأسماء سهلة مثل:
لكن أجهزة الشبكة تحتاج إلى عناوين رقمية للوصول إلى الوجهة المطلوبة.
وهنا يأتي دور واحد من أهم أنظمة الإنترنت:
DNS — نظام أسماء النطاقات.
يمكن تبسيط فكرته بدليل ضخم يساعد جهازك على معرفة العنوان المرتبط باسم الموقع.
أنت تعرف اسم الموقع، بينما يحتاج جهازك إلى معرفة العنوان الذي يمكنه الاتصال به.
هل يسأل الهاتف الإنترنت عن DNS في كل مرة؟
ليس بالضرورة.
قبل إرسال استعلام جديد، يمكن أن توجد النتيجة بالفعل في ذاكرة مؤقتة لدى الجهاز أو المتصفح أو أجزاء أخرى من مسار الشبكة.
والسبب بسيط:
إذا كان جهازك قد عرف عنوان الموقع قبل وقت قصير، فمن غير المنطقي إعادة البحث عنه من البداية في كل مرة.
ولهذا تُستخدم آليات التخزين المؤقت لتقليل الوقت والطلبات.
إذا لم توجد إجابة صالحة مخزنة، تبدأ عملية البحث عبر DNS.
DNS ليس خادمًا واحدًا يعرف الإنترنت كله
من السهل تخيل وجود جهاز مركزي عملاق يحتوي على قائمة بكل المواقع، لكن الإنترنت لا يعمل بهذه البساطة.
نظام DNS موزع على طبقات وخوادم عديدة.
عندما لا تكون الإجابة معروفة مباشرة، يمكن أن تمر عملية الاستعلام عبر بنية DNS للوصول في النهاية إلى المعلومات التي تشير إلى الوجهة الصحيحة للنطاق.
وهذه البنية الموزعة واحدة من الأفكار الأساسية التي تسمح للإنترنت بالعمل بهذا الحجم الهائل.
الآن عرف جهازك العنوان… فهل تظهر الصفحة؟
ليس بعد.
معرفة مكان الخادم تشبه معرفة عنوان متجر على الخريطة.
ما زلت بحاجة إلى الوصول إليه والتواصل معه.
يبدأ جهازك بإنشاء الاتصال المطلوب عبر الشبكة، وتنتقل البيانات خلال بنية الإنترنت بين شبكات وأجهزة توجيه مختلفة حتى تصل إلى وجهتها.
وقد يكون الخادم الذي سيجيب عن طلبك في مدينة أخرى أو دولة أخرى، أو قد تكون نسخة من المحتوى موجودة في مركز بيانات أقرب إليك.
لماذا لا يأتي كل محتوى الموقع من مكان واحد؟
المواقع الكبيرة تخدم أعدادًا ضخمة من المستخدمين المنتشرين حول العالم.
ولو اضطر كل مستخدم إلى جلب كل ملف من خادم واحد بعيد، فقد يزيد زمن الاستجابة ويصبح ذلك الخادم نقطة ضغط كبيرة.
ولهذا تستخدم مواقع كثيرة شبكات توصيل المحتوى CDN.
الفكرة هي توزيع نسخ من بعض المحتوى عبر خوادم في مواقع جغرافية مختلفة.
وعندما تطلب ملفًا، يمكن تقديمه من موقع مناسب بدل الاعتماد دائمًا على خادم أصلي بعيد.
ماذا يعني HTTPS الذي يظهر في عناوين المواقع؟
قبل تبادل بيانات الويب الحساسة، تستخدم المواقع الحديثة عادة اتصالًا مشفرًا عبر HTTPS.
خلال إنشاء الاتصال الآمن تحدث عملية تحقق وتفاوض على آليات التشفير المناسبة.
يقدم الموقع شهادة رقمية تساعد المتصفح على التحقق من هوية النطاق ضمن منظومة الثقة المستخدمة على الويب.
ثم يمكن إنشاء مفاتيح جلسة تُستخدم لحماية البيانات أثناء انتقالها.
ولهذا فإن رمز القفل — عندما تعرضه واجهة المتصفح — لا يعني أن الموقع نفسه «جيد» أو أن كل ما يقوله صحيح.
إنما يشير أساسًا إلى أن الاتصال بالموقع يستخدم HTTPS.
وهذا فرق مهم جدًا.
الآن يرسل المتصفح طلبه
بعد إنشاء الاتصال المناسب، يستطيع المتصفح أن يطلب المورد المطلوب.
مثلًا، يرسل طلبًا للصفحة الرئيسية.
الخادم يستقبل الطلب ويقرر ماذا يعيد.
قد تكون النتيجة صفحة جاهزة، أو قد يحتاج الخادم أولًا إلى تشغيل برنامج، أو قراءة بيانات، أو التحقق من جلسة المستخدم، أو تنفيذ عمليات أخرى.
بعد ذلك يبدأ إرسال الاستجابة إلى جهازك.
ما الذي يصل إلى المتصفح؟
ليس بالضرورة «صورة جاهزة» للصفحة.
عادة يستقبل المتصفح مجموعة من الموارد والتعليمات.
من أهمها:
HTML الذي يصف بنية الصفحة ومحتواها.
CSS الذي يحدد كثيرًا من جوانب المظهر والتنسيق.
JavaScript الذي يسمح بتنفيذ سلوكيات وتفاعلات برمجية.
إضافة إلى الصور والخطوط والملفات والبيانات الأخرى التي تحتاجها الصفحة.
ثم يبدأ المتصفح بتحويل كل ذلك إلى ما تراه أمامك.
المتصفح يبني الصفحة
عندما يصل HTML، يبدأ المتصفح في تحليله وفهم العناصر الموجودة فيه.
عنوان.
فقرة.
صورة.
زر.
قائمة.
رابط.
وفي الوقت نفسه يحتاج إلى معرفة قواعد التنسيق وتحديد كيفية ترتيب العناصر وعرضها.
ثم تأتي مرحلة رسم النتيجة على الشاشة.
لذلك الصفحة التي تراها ليست ملف صورة أرسله الخادم غالبًا، وإنما نتيجة بناء ورسم يقوم به المتصفح على جهازك اعتمادًا على الموارد التي استلمها.
لماذا يظهر جزء من الصفحة قبل اكتمال تحميلها؟
لأن المتصفح لا ينتظر دائمًا انتهاء كل شيء ثم يعرض الصفحة دفعة واحدة.
يمكنه البدء بمعالجة وعرض بعض المحتوى أثناء وصول موارد أخرى.
ولهذا قد ترى النص أولًا، ثم تظهر الصور بعد لحظة.
أو يظهر الهيكل الأساسي، ثم تكتمل بعض العناصر التفاعلية.
هذه الطريقة تجعل الموقع يبدو أسرع للمستخدم بدل ترك شاشة فارغة حتى يصل آخر ملف.
لماذا بعض المواقع تفتح فورًا وأخرى ببطء؟
لأن سرعة اتصالك ليست العامل الوحيد.
هناك مجموعة كبيرة من العوامل، مثل حجم الملفات، وعدد الطلبات التي تحتاجها الصفحة، واستجابة الخادم، والمسافة الشبكية، وكفاءة الكود، والصور والخطوط، واستخدام التخزين المؤقت وCDN.
لهذا يمكن أن يكون لديك إنترنت سريع جدًا ومع ذلك تجد موقعًا معينًا بطيئًا.
وقد يكون السبب في الموقع أو مسار الاتصال وليس سرعة باقتك وحدها.
ما وظيفة الـCache؟
تخيل موقعًا يحتوي على الشعار نفسه في كل صفحة.
هل يحتاج المتصفح إلى تنزيل الشعار نفسه من الإنترنت في كل مرة؟
ليس دائمًا.
يمكن للمتصفح الاحتفاظ ببعض الموارد مؤقتًا وإعادة استخدامها وفق قواعد التخزين المؤقت التي يحددها الموقع والمتصفح.
وهذا يمكن أن يقلل كمية البيانات المنقولة ويسرّع الزيارات اللاحقة.
لذلك قد تلاحظ أن موقعًا ما يفتح أسرع في الزيارة الثانية مقارنة بالأولى.
وماذا تفعل ملفات تعريف الارتباط Cookies؟
ملفات تعريف الارتباط مختلفة عن Cache.
الـCache يركز غالبًا على الاحتفاظ بنسخ من الموارد لتسريع التحميل.
أما Cookies فهي بيانات صغيرة يمكن للموقع استخدامها لأغراض مثل الاحتفاظ بحالة جلسة أو تفضيلات معينة، بحسب كيفية تصميم الموقع.
وهذا أحد الأسباب التي تجعل الموقع يستطيع أحيانًا معرفة أنك سجلت الدخول سابقًا بدل مطالبتك بتسجيل الدخول في كل صفحة.
ماذا يحدث عندما تضغط رابطًا داخل الموقع؟
تبدأ عملية مشابهة مرة أخرى، لكن بعض الخطوات قد تصبح أسرع.
قد يكون اتصال مناسب موجودًا بالفعل، وقد تكون بعض الملفات محفوظة في Cache، وقد لا يحتاج المتصفح إلى إعادة تنزيل الموارد المشتركة.
كما أن تطبيقات الويب الحديثة قد تغيّر أجزاء من الصفحة باستخدام JavaScript دون تحميل صفحة كاملة بالطريقة التقليدية.
ولهذا تبدو بعض المواقع الحديثة أقرب إلى التطبيقات.
هل بيانات الموقع تنتقل كقطعة واحدة؟
لا.
بيانات الشبكات تُقسّم وتُنقل وفق البروتوكولات المستخدمة، ثم يعاد التعامل معها عند الوجهة.
وفي الإنترنت التقليدي يمكن أن تمر البيانات عبر عدة أجهزة وشبكات في الطريق.
وهذا من أجمل الأشياء في بنية الإنترنت:
أنت لا تحتاج إلى معرفة الطريق الذي ستسلكه البيانات يدويًا.
البنية الشبكية تتولى عملية التوجيه.
ماذا لو تعطل DNS؟
قد يكون الإنترنت نفسه متصلًا، لكن المتصفح يعجز عن الوصول إلى المواقع بأسمائها بصورة طبيعية إذا لم يتمكن من حل أسماء النطاقات المطلوبة.
وهذا يفسر لماذا يمكن لمشكلة في DNS أن تجعل المستخدم يعتقد أن «الإنترنت انقطع» رغم أن الاتصال الشبكي الأساسي قد يكون موجودًا.
وماذا لو كان الخادم متوقفًا؟
هنا يمكن أن يكون كل شيء عندك طبيعيًا:
الهاتف يعمل.
الراوتر يعمل.
الإنترنت يعمل.
DNS يعمل.
لكن الموقع نفسه لا يستجيب.
لذلك عندما لا يفتح موقع واحد بينما تعمل بقية المواقع بصورة طبيعية، فليس من المنطقي دائمًا البدء بإلقاء اللوم على شبكة منزلك.
كل هذا يحدث في لحظات
فكر فيها مرة أخرى.
تكتب اسم موقع.
يُبحث عن عنوانه.
يبدأ اتصال عبر الشبكة.
يتم إعداد الاتصال الآمن.
يرسل المتصفح الطلب.
يرد الخادم.
تصل الملفات.
يحللها المتصفح.
يبني الصفحة.
يرسمها على الشاشة.
وقد تتكرر طلبات إضافية أثناء ذلك للحصول على الصور والخطوط والبيانات.
ثم تظهر أمامك الصفحة وكأن شيئًا بسيطًا حدث.
الخلاصة
الضغط على Enter يبدو كأبسط حركة ممكنة.
لكن خلفه تعمل واحدة من أعقد البنى التقنية التي صنعها البشر.
DNS يساعد على العثور على الوجهة، وشبكات الإنترنت تنقل البيانات، وHTTPS يحمي الاتصال، والخوادم تعالج الطلبات، وCDN يمكن أن يقرب المحتوى منك، ثم يحول المتصفح الأكواد والملفات إلى صفحة تستطيع قراءتها والتفاعل معها.
وكل ذلك يقود إلى فكرة جميلة:
أنت لا «تفتح صفحة» فقط؛ بل تبدأ رحلة رقمية كاملة بين جهازك وأجهزة قد تكون على الجانب الآخر من العالم — ثم تعود النتيجة إلى شاشتك خلال لحظات. 🌐
0 تعليقات