"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ماذا يحدث عندما تدخل &#google.com&# 39؟

ماذا يحدث عندما تدخل &#google.com&# 39؟

تم النشر بتاريخ 2024-11-04
تصفح:682

What Happens When You Enter

هل سبق لك أن تساءلت عن سلسلة الأحداث المعقدة التي تحدث في جزء من الثانية بين كتابة "google.com" في متصفحك ورؤية صفحة البحث المألوفة تظهر؟ في هذا الاستكشاف التفصيلي، سنكشف عن العالم الرائع لتقنيات الويب وبروتوكولات الشبكات والرقص المعقد للبيانات التي تجعل تجاربنا عبر الإنترنت ممكنة.

1. تبدأ الرحلة: المتصفح ونظام التشغيل لديك

1.1 الخطوات الأولى للمتصفح

عندما تكتب "google.com" وتضغط على Enter، يبدأ متصفحك في العمل:

  1. تحليل عنوان URL : يقوم المتصفح أولاً بتحليل عنوان URL الذي أدخلته. فهو يحدد البروتوكول (في هذه الحالة، "http://" أو "https://" الضمني)، واسم النطاق ("google.com")، وأي مسار إضافي أو معلمات استعلام (لا شيء في هذا المثال البسيط) .

  2. فحص HSTS : بالنسبة لمواقع الويب ذات الاهتمام الأمني ​​مثل Google، يتحقق المتصفح من قائمة أمان النقل الصارم لـ HTTP (HSTS). إذا كان google.com مدرجًا في هذه القائمة (وهي موجودة)، فسيقوم المتصفح تلقائيًا بترقية الطلب إلى HTTPS.

  3. فحص ذاكرة التخزين المؤقت: قبل الوصول إلى الشبكة، يقوم المتصفح بفحص ذاكرة التخزين المؤقت المحلية الخاصة به. تقوم ذاكرة التخزين المؤقت هذه بتخزين المعلومات من الزيارات السابقة، بما في ذلك:

    • ذاكرة التخزين المؤقت لنظام أسماء النطاقات: عنوان IP المرتبط بـ google.com
    • ذاكرة التخزين المؤقت للموارد: ملفات HTML وCSS وجافا سكريبت والصور من صفحة Google الرئيسية

إذا تم العثور على أي منها ولا يزال صالحًا (غير منتهي الصلاحية)، فيمكن للمتصفح تخطي بعض الخطوات التالية.

1.2 دور نظام التشغيل

إذا لم يتمكن المتصفح من العثور على المعلومات الضرورية في ذاكرة التخزين المؤقت الخاصة به، فإنه يلجأ إلى نظام التشغيل (OS) للحصول على المساعدة:

  1. فحص ملف المضيفين : يبحث نظام التشغيل أولاً في ملف "المضيفين" المحلي. يمكن لهذا الملف تعيين أسماء النطاقات إلى عناوين IP، مما قد يؤدي إلى تجاوز بحث DNS. ومع ذلك، بالنسبة لمعظم المستخدمين، لن يكون موقع google.com موجودًا في هذا الملف.

  2. ذاكرة التخزين المؤقت لعميل DNS : يحتفظ نظام التشغيل بذاكرة التخزين المؤقت لنظام DNS الخاص به، بشكل منفصل عن ذاكرة المتصفح. يتم التحقق هنا بعد ذلك.

  3. تكوين المحلل : إذا لم يكن عنوان IP موجودًا في ذاكرة التخزين المؤقت المحلية، فإن نظام التشغيل يستعد لطلب خادم DNS. يقرأ تكوين الشبكة الخاص به لمعرفة خادم DNS الذي سيتم الاستعلام عنه (عادةً ما يتم توفيره بواسطة مزود خدمة الإنترنت الخاص بك أو يتم تعيينه يدويًا).

2. حل DNS: العثور على عنوان Google

إذا لم يتم تخزين عنوان IP الخاص بـ google.com في ذاكرة التخزين المؤقت، فسنحتاج إلى مطالبة نظام اسم النطاق (DNS) بترجمة "google.com" الذي يمكن قراءته بواسطة الإنسان إلى عنوان IP يمكن استخدامه بواسطة الآلة.

2.1 التسلسل الهرمي لنظام أسماء النطاقات (DNS).

يتم تنظيم DNS في هيكل هرمي:

  1. الخوادم الجذرية : في الجزء العلوي من التسلسل الهرمي. وهم يعرفون مكان العثور على الخوادم الرسمية لنطاقات المستوى الأعلى (TLDs) مثل .com، و.org، و.net، وما إلى ذلك.

  2. خوادم TLD : تعرف هذه الخوادم جميع النطاقات المسجلة ضمن TLD الخاصة بها. يعرف خادم .com TLD عن google.com.

  3. خوادم الأسماء الرسمية : هذه هي المسؤولة عن معرفة كل شيء عن مجال معين، بما في ذلك عنوان (عناوين) IP الخاص به.

2.2 عملية استعلام DNS

  1. المحلل العودي: يتلقى خادم DNS الخاص بمزود خدمة الإنترنت (أو أي محلل آخر تم تكوينه) الاستعلام عن google.com. إذا لم تكن الإجابة مخزنة مؤقتًا، فستبدأ عملية متكررة:
  • يسأل خادم الجذر عن .com
  • يحيله خادم الجذر إلى خادم .com TLD
  • يسأل خادم .com TLD عن google.com
  • يحيله خادم .com إلى خوادم الأسماء المعتمدة لدى Google
  • يطلب من خادم اسم Google عنوان IP الخاص بـ google.com
  • يستجيب خادم اسم Google بعنوان IP
  1. التخزين المؤقت: قد تتضمن كل خطوة في هذه العملية التخزين المؤقت، لذا فإن الرحلة الكاملة ليست ضرورية دائمًا. يقوم المحلل بتخزين النتيجة النهائية مؤقتًا، عادةً لفترة زمنية تحددها Google (مدة البقاء، أو TTL).

  2. موازنة التحميل : غالبًا ما تعرض الخدمات الكبيرة مثل Google عناوين IP متعددة. وهذا يسمح بموازنة التحميل وتحسين الموثوقية.

2.3 مثال بحث DNS

لنفترض أن بحث DNS يعرض النتيجة (المبسطة) التالية:

google.com.     300    IN    A     172.217.167.78

هذا يعنى:

  • النطاق هو google.com
  • يحتوي السجل على 300 ثانية (5 دقائق) TTL
  • إنه سجل إنترنت (IN)
  • إنه نوع سجل العنوان (A)
  • عنوان IP هو 172.217.167.78

3. إنشاء اتصال: TCP/IP

الآن بعد أن حصلنا على عنوان IP الخاص بـ Google، فقد حان الوقت لإنشاء اتصال.

3.1 مكدس TCP/IP

  1. طبقة التطبيق : يعمل متصفحك هنا، باستخدام HTTP (S) للتواصل.

  2. طبقة النقل : يتم استخدام TCP هنا لضمان تسليم البيانات بشكل موثوق ومنظم.

  3. طبقة الإنترنت: يستخدم IP لتوجيه الحزم بين الشبكات.

  4. طبقة الارتباط : تتعامل مع النقل الفعلي للبيانات، سواء عبر إيثرنت، أو Wi-Fi، أو الشبكات الخلوية، وما إلى ذلك.

3.2 مصافحة TCP

لإنشاء اتصال، تحدث مصافحة ثلاثية:

  1. SYN: يرسل جهاز الكمبيوتر الخاص بك حزمة SYN (مزامنة) إلى خادم Google.
  2. SYN-ACK: يستجيب خادم Google بحزمة SYN-ACK.
  3. ACK: يرسل جهاز الكمبيوتر الخاص بك حزمة ACK (إقرار).

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

3.3 مصافحة TLS

بالنسبة لاتصالات HTTPS (التي تستخدمها Google)، تحدث مصافحة TLS (أمان طبقة النقل):

  1. مرحبًا بالعميل: يرسل متصفحك إصدارات SSL/TLS المدعومة ومجموعات التشفير ورقم عشوائي.
  2. مرحبًا بالخادم: يختار الخادم إصدار SSL/TLS ومجموعة التشفير، ويرسل شهادته ورقم عشوائي آخر.
  3. المصادقة: يتحقق متصفحك من شهادة الخادم من خلال مرجع مصدق موثوق به.
  4. تبادل المفاتيح: تم إنشاء مفتاح متماثل آمن لتشفير الجلسة.

4. طلب ​​HTTP: السؤال عن الصفحة

عند إنشاء اتصال آمن، يرسل متصفحك طلب HTTP GET لصفحة Google الرئيسية.

4.1 مثال لطلب HTTP

GET / HTTP/2
Host: www.google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1

يتضمن هذا الطلب:

  • الطريقة (GET) والمسار (/) الذي نطلبه
  • نسخة HTTP (HTTP/2)*
  • رؤوس مختلفة توفر معلومات حول المتصفح وإمكانياته *ملاحظة: يشير HTTP/2 إلى HTTPS فقط، وليس إلى اتصال http. يتم إرسال هذا الطلب عبر اتصال HTTPS تم إنشاؤه بالفعل، على الرغم من أن الرؤوس لا تشير بوضوح إلى HTTPS.

5. معالجة الخادم: يستجيب Google

تتلقى خوادم Google هذا الطلب وتعالجه. قد يشمل ذلك:

  1. موازنة التحميل: توزيع الطلب بين العديد من الخوادم.
  2. خوادم التطبيقات: تشغيل التعليمات البرمجية لإنشاء استجابة.
  3. استعلامات قاعدة البيانات: جلب البيانات الشخصية أو اقتراحات البحث.
  4. التخزين المؤقت: استرداد المحتوى الذي تم إنشاؤه مسبقًا عندما يكون ذلك ممكنًا.

6. استجابة HTTP: إرسال الصفحة

يرسل خادم Google استجابة HTTP، والتي قد تبدو كما يلي:

HTTP/2 200 OK
Content-Type: text/html; charset=UTF-8
Date: Sat, 21 Sep 2024 12:00:00 GMT
Expires: Sat, 21 Sep 2024 12:00:00 GMT
Cache-Control: private, max-age=0
Server: gws
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
[... other headers ...]



  
    
    Google
    [... rest of the HTML ...]
  
  
    [... body content ...]
  

يشمل هذا الرد ما يلي:

  • رمز الحالة (200 موافق)
  • رؤوس مختلفة توفر بيانات وصفية حول الاستجابة
  • محتوى HTML للصفحة

7. العرض: إضفاء الحيوية على الصفحة

يحتوي متصفحك الآن على محتوى HTML ويبدأ في عرض الصفحة:

  1. تحليل HTML: يقوم المتصفح بتحليل HTML، وإنشاء نموذج كائن المستند (DOM).

  2. طلب موارد إضافية : عندما يواجه روابط إلى CSS، وجافا سكريبت، والصور، وما إلى ذلك، فإنه يرسل طلبات HTTP إضافية لهذه الموارد.

  3. تحليل CSS: يقوم المتصفح بتحليل CSS وتطبيق الأنماط على عناصر DOM، مما يؤدي إلى إنشاء نموذج كائن CSS (CSSOM).

  4. تنفيذ JavaScript: يقوم المتصفح بتنفيذ JavaScript، والذي يمكنه تعديل DOM وCSSOM.

  5. العرض: يستخدم المتصفح DOM وCSSOM النهائي لعرض الصفحة على شاشتك.

خاتمة

ما يبدو وكأنه إجراء بسيط - كتابة "google.com" والضغط على Enter - يتضمن في الواقع سلسلة معقدة من الخطوات، بدءًا من عمليات بحث DNS وبروتوكولات الشبكة وحتى المعالجة من جانب الخادم والعرض من جانب العميل. تحدث هذه الرقصة المعقدة في أجزاء من الثانية فقط، وتعرض الهندسة المذهلة التي تدعم تجاربنا عبر الإنترنت.

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


الصور الموجودة في هذه المدونة تم إنشاؤها بواسطة الذكاء الاصطناعي.

اقرأ أيضًا HTTP مقابل HTTPS ما الفرق بينهما

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/yashrajxdev/what-happens-when-you-enter-googlecom-a-deep-dive-into-the-internets-inner-workings-1aoi?1إذا كان هناك أي التعدي، يرجى الاتصال بـ [email protected] للحذف
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3