it-swarm.asia

ماذا يحدث بالضبط عندما تتصفح موقع الويب في متصفحك؟

ماذا يحدث وراء الكواليس عندما نكتب www.cnn.com في متصفح وكيف يتم عرض المعلومات على الشاشة؟

سيكون التفسير الفني في غاية الامتنان.

62
Rachel

المستعرض: "حسنًا ، لذلك ، لدي مستخدم يطلب هذا العنوان: www.cnn.com. أتحقق من عدم وجود خطوط مائلة أو أي شيء ، هذا هو طلب مباشر للصفحة الرئيسية ، كما أنه لم يتم تحديد بروتوكول أو منفذ ، لذلك سأفترض أنه HTTP وسيذهب إلى المنفذ 80 ... حسنًا ، أول الأشياء أولاً. مهلاً DNS ، pal ، استيقظ! هذا www.cnn.com يختبئ في؟ "

DNS: "على اليمين ... انتظر ثانية ، سأطلب من خوادم ISP. حسنًا ، يبدو أنه 157.166.226.25."

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

TCP/IP: "ماذا تقصد دوري ؟ مثل أنني لم أكن أعمل فقط التراجع هناك عن DNS؟ يا الله ، ما الذي يتطلبه الأمر للحصول على القليل من التقدير هنا ... "

المتصفح: ...

TCP/IP: "نعم ، نعم ... جارٍ الاتصال ... سأطلب فقط من البوابة إعادة توجيهها. أنت تعرف ، إنها ليست ' بهذه السهولة ، سأضطر إلى تقسيم طلبك الجميل هناك إلى أجزاء متعددة حتى يصل إلى نهايته ، وتجميع أي أشياء يرسلونها مرة أخرى من جميع الآلاف من الحزم التي أحصل عليها ... آه ، صحيح ، أنت لا الرعاية. الأرقام. "

وفي الوقت نفسه ، في مقر CNN ، تنتهي الرسالة أخيرًا عند باب خادم الويب.

CNN Web Server: "Nzhôô! عميل! إنه يريد الأخبار! الصفحة الأولى! ماذا عن ذلك؟"

CNN Server Side Script Engine: "صحيح ، هل ستفعل! الصفحة الأولى ، أليس كذلك؟"

خادم قاعدة بيانات CNN: "Yey! اعمل معي! ما المحتوى الذي تحتاجه؟"

CNN Server Side Script Engine: "... um ، آسف DB ، لدي نسخة من الصفحة الأولى هنا في ذاكرة التخزين المؤقت الخاصة بي ، لا حاجة إلى ترجمة ولكن ، مهلا ، خذ معرف المستخدم هذا واحفظه ، وسأرسله إلى العميل أيضًا ، حتى نعرف من نتحدث إليه لاحقًا. "

خادم قاعدة بيانات CNN: "Yey!"

رجوع إلى كمبيوتر المستخدم ...

TCP/IP: "Ooookay ، هنا يأتي الرد. يا ولد ، لماذا لدي شعور بأن هذا سيكون كبير ..."

المستعرض: "اه ، واو ... هذا لديه كل أنواع كود جافا سكريبت ... مجموعة من الصور ، عدة أشكال ... صحيح ، هذا ستأخذ بعض الوقت لتقديمها. من الأفضل الوصول إليها. مهلا ، نظام IP ، هناك مجموعة كبيرة من الأشياء التي ستحتاج إلى الحصول عليها. دعونا نرى أنني بحاجة إلى بعض أوراق الأنماط من i.cdn.turner.com - عبر HTTP واسأل بالنسبة للملف /cnn/.element/css/2.0/common.css. ومن ثم احصل على بعض هذه البرامج النصية في i.cdn.turner.com أيضًا ، أنا أحسب ستة حتى الآن ... "

TCP/IP: "أحصل على الصورة. فقط أعطني عناوين الخادم وكل ذلك. ولف مواد الملف هذه داخل طلب HTTP ، أنا لا تريد التعامل معها. "

DNS: "التحقق من موقع i.cdn.turner.com ... مهلا ، قليل من التوافه ، إنه في الواقع يسمى cdn.cnn.com.c. footprint.net. IP هو 4.23.41.126 "

المستعرض: "بالتأكيد ، بالتأكيد ... انتظر ثانية ، سيستغرق الأمر بضع ثوانٍ للمعالجة ، أحاول فهم كل هذا النص البرمجي ... "

TCP/IP: "مهلا ، إليك CSS التي طلبتها. أوه ، و ... نعم ، هذه النصوص الإضافية أيضًا عادت لتوها."

المستعرض: "يا للعجب ، هناك المزيد ... نوع من إعلانات الفيديو!"

TCP/IP: "يا فتى ، يا له من متعة مثل ..."

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

TCP/IP: "حسنًا ، حسناً ، توقف عن تشتيت انتباهي لفترة ثانية ، لا يزال هناك الكثير مما يجب فعله هنا."

المستعرض: "المستخدم ، إليك تقرير صغير عن التقدم المحرز. عذرًا ، قد يستغرق كل هذا بضع ثوانٍ ، وهناك 140 عنصرًا مختلفًا للتحميل ، و الذهاب في 16 حتى الآن. "

بعد ثانية أو ثانيتين ...

TCP/IP: "حسنًا ، هذا يجب أن يكون كل شيء. مهلا ، اسمع ... آسف لقد التقطت لك في وقت سابق ، أنت تدير هناك؟ يبدو هذا بالتأكيد مثل الحمل تماما بالنسبة لك أيضا. "

المستعرض: "Phew ، نعم ، كل هذه المواقع الآن ، من المؤكد أنها لا تسهل عليك. حسنًا ، سأديرها. إنها ما أنا هنا من أجل ".

TCP/IP: "أعتقد أنها ثقيلة جدًا بالنسبة لنا جميعًا هذه الأيام ... أوه ، توقف عن الشمات هناك DNS!"

المستعرض: "مرحبًا يا مستخدم! الموقع جاهز - اذهب للحصول على الأخبار الخاصة بك!"

131
Ilari Kajaste

كيفية عمل الويب: شرح HTTP و CGI

أيضًا شرح رائع من CERN - alma mater of Web: كيف تعمل الويب

enter image description here

20
user12925
  • يقسم المتصفح ما تكتبه (URL) إلى اسم مضيف ومسار.
  • يقوم المستعرض بتكوين طلب HTTP لطلب البيانات على اسم المضيف والمسار المحدد.
  • يقوم المستعرض بإجراء بحث DNS لحل اسم المضيف في عنوان IP.
  • يشكل المستعرض اتصال TCP/IP بالكمبيوتر المحدد عبر عنوان IP. (يتكون هذا الاتصال فعليًا من العديد من أجهزة الكمبيوتر ، ويمرر كل منها البيانات إلى أخرى).
  • يرسل المستعرض طلب HTTP لأسفل الاتصال إلى عنوان IP المحدد.
  • يتلقى هذا الكمبيوتر طلب HTTP من اتصال TCP/IP ويمرره إلى برنامج خادم الويب.
  • يقرأ خادم الويب اسم المضيف والمسار ويجد أو ينشئ البيانات التي طلبتها.
  • ينشئ خادم الويب استجابة HTTP تحتوي على تلك البيانات.
  • يرسل خادم الويب استجابة HTTP تلك إلى أسفل اتصال TCP/IP بجهازك.
  • يتلقى المستعرض استجابة HTTP ويقسمها إلى رؤوس (تصف البيانات) والنص (البيانات نفسها).
  • يقوم المستعرض بتفسير البيانات لتحديد كيفية عرضها في المستعرض - عادةً ما تكون هذه هي بيانات HTML التي تحدد أنواع المعلومات ونموذجها العام.
  • ستكون بعض البيانات بيانات تعريفية تحدد الموارد الإضافية التي يلزم تحميلها ، مثل أوراق الأنماط للتخطيط التفصيلي أو الصور المضمنة أو أفلام فلاش. يتم تحديد بيانات التعريف هذه مرة أخرى كعنوان URL ، وتتكرر هذه العملية بأكملها لكل واحدة حتى يتم تحميلها جميعًا.
18
Kylotan

الخطوة الأولى هي البحث عن DNS (خادم اسم المجال). يستخدم خوادم DNS المحددة في إعدادات الشبكة الخاصة بك (أو المعطاة لك من قِبل DHCP) للبحث عن المجال الأعلى (cnn.com) ثم اطلب من خادم أسماء المجال لعنوان IP للنطاق الفرعي المحدد (www.cnn.com).

بعد أن يحتوي على عنوان IP ، يبدأ متصفحك في التواصل مع خادم الويب. يتم ذلك باستخدام البروتوكول المحدد (والذي عادةً ما يكون افتراضيًا لـ HTTP 1.1). يتم تقديم طلب "GET" لـ "/" إلى الخادم ، الذي يستجيب بمحتويات مستند HTML والرؤوس المناسبة (التي تخبر المستعرض بنوع محتوى المستند و HTML والمعلومات الأخرى). ثم يقوم المستعرض بتوزيع المستند والعثور على أي عناوين URL يحتاج إلى تضمينها في الصفحة (مثل الصور أو أوراق الأنماط المرتبطة) ويقوم بطلب طلبات GET على كل منها.

عادةً ما يقوم المستعرض تلقائيًا بطلب الحصول على "/ favicon.ico" (لعرض أيقونة CNN الصغيرة بجانب عنوان الموقع).

من المحتمل أن يحدد متصفحك في رؤوس طلباته أنه يريد ضغط محتوى الاستجابة ، باستخدام خوارزمية gzip. هذا يجعل تنزيل الملف أصغر بكثير ، إذا كان الخادم يدعمه. كل هذا شفاف بالنسبة لك ، على الرغم من أنه يشبه تنزيل ملف Zip وفك ضغطه.

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

12
wahnfrieden

ما نفتقده عن الإجابات الأخرى هو ما يحدث على جانب شبكة سي إن إن:

  • يتلقى جهاز في CNN الرسالة من جهاز الكمبيوتر الخاص بك يطلب فيها الصفحة.
  • يقوم بإعادة توجيه هذا الطلب إلى أحد أجهزة الكمبيوتر العديدة التي تستخدمها CNN لموقعها على شبكة الإنترنت (والسبب في ذلك هو أنه ، بهذه الطريقة ، يمكنك نشر عمل تجميع صفحات الويب للاستجابة عبر العديد من أجهزة الكمبيوتر)
  • يستقبل الكمبيوتر CNN طلبك وهو يستجيب بصفحة ويب ربما تكون محسوبة بالكامل تقريبًا ، لكن ربما ستتغير بعض الأشياء قبل إرسالها إليك (يمكن أن يكون الإعلان في الأعلى ، وربما يكون عنوان الأخبار). في بعض الأحيان تقوم أجهزة الكمبيوتر بتجميع الصفحة من الكثير من المكونات الصغيرة في كل مرة يتلقون فيها طلبًا ؛ لست متأكدا ما يفعله سي إن إن
  • الاستجابة تشق طريقها عبر الشبكة إلى جهاز الكمبيوتر الخاص بك ، والذي يعرضها بعد ذلك.
  • لم تتضمن الاستجابة الصور: ثم يرسل الكمبيوتر طلبًا آخر للصور ، ويحدث نفس السيناريو إلى حد كبير.
8
redtuna

من الواضح أن هذا ليس تفسيرًا تقنيًا ، لكنه يعد مساعدة مرئية رائعة (من Vladstudio.com ) التي قد تكون مفيدة للبعض:

How Internet Works

6
grautur

يمكن أن تملأ المعلومات التي طلبتها للتو عشرات الكتب. ولكن فيما يلي محاولتي لشرح ذلك: يخبر متصفحك نظام التشغيل الخاص بك للعثور على عنوان IP الخاص بـ cnn.com. ثم يسأل نظام التشغيل الخاص بك خادم DNS عن عنوان IP لـ cnn.com. يتم إرسال IP إلى broswer الذي يتصل بعنوان IP ويطلب الصفحة. cnn.com ثم يرسل لك وصفحة HTML. تقوم المتصفحات بتوزيع html وترسل المعلومات إلى عارض HTML. ثم يخبر المتصفح نظام التشغيل بما يتم عرضه على الشاشة.

1
AyexeM

كان لدى Jeff Moser تحليل تقني ممتاز لطلب HTTPS على مدونته: الملي ثانية القليلة الأولى من اتصال HTTPS .

1
Igal Tabachnik

يوجد فيديو رائع حقًا بواسطة "Sendung mit der Maus" (برنامج تلفزيوني ألماني شهير للغاية للأطفال يشرح التكنولوجيا للأطفال):

Die Sendung mit der Maus - Wie funktioniert das Internet (كيف يعمل الإنترنت).

باللغة الألمانية فقط ، لسوء الحظ ، ولكن مضحك حتى مع النص. الرجال الذين يرتدون خوذات مضحكة يلعبون حزم IP ، ويتم كتابة البيانات على بطاقات ورقية. الكلاسيكية :-).

راجع للشغل ، التفسيرات هي في الواقع جيدة إلى حد ما.

1
sleske