ماذا يحدث وراء الكواليس عندما نكتب www.cnn.com في متصفح وكيف يتم عرض المعلومات على الشاشة؟
سيكون التفسير الفني في غاية الامتنان.
المستعرض: "حسنًا ، لذلك ، لدي مستخدم يطلب هذا العنوان: 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!"
المستعرض: "مرحبًا يا مستخدم! الموقع جاهز - اذهب للحصول على الأخبار الخاصة بك!"
الخطوة الأولى هي البحث عن DNS (خادم اسم المجال). يستخدم خوادم DNS المحددة في إعدادات الشبكة الخاصة بك (أو المعطاة لك من قِبل DHCP) للبحث عن المجال الأعلى (cnn.com) ثم اطلب من خادم أسماء المجال لعنوان IP للنطاق الفرعي المحدد (www.cnn.com).
بعد أن يحتوي على عنوان IP ، يبدأ متصفحك في التواصل مع خادم الويب. يتم ذلك باستخدام البروتوكول المحدد (والذي عادةً ما يكون افتراضيًا لـ HTTP 1.1). يتم تقديم طلب "GET" لـ "/" إلى الخادم ، الذي يستجيب بمحتويات مستند HTML والرؤوس المناسبة (التي تخبر المستعرض بنوع محتوى المستند و HTML والمعلومات الأخرى). ثم يقوم المستعرض بتوزيع المستند والعثور على أي عناوين URL يحتاج إلى تضمينها في الصفحة (مثل الصور أو أوراق الأنماط المرتبطة) ويقوم بطلب طلبات GET على كل منها.
عادةً ما يقوم المستعرض تلقائيًا بطلب الحصول على "/ favicon.ico" (لعرض أيقونة CNN الصغيرة بجانب عنوان الموقع).
من المحتمل أن يحدد متصفحك في رؤوس طلباته أنه يريد ضغط محتوى الاستجابة ، باستخدام خوارزمية gzip. هذا يجعل تنزيل الملف أصغر بكثير ، إذا كان الخادم يدعمه. كل هذا شفاف بالنسبة لك ، على الرغم من أنه يشبه تنزيل ملف Zip وفك ضغطه.
عندما تقوم بإعادة تحميل الصفحة ، يتحقق متصفحك من تخزين هذه الصفحة بالفعل في نظامك ، وإذا كان الأمر كذلك ، فإنها تقوم بطلب HTTP فقط لرأس المستند ، وتحقق من تاريخه المعدل. إذا كان هذا التاريخ متأخراً عن نسخته المخبأة ، فإنه يطلب محتويات المستند بالكامل مرة أخرى ويقوم بتحديث الصفحة. وإلا فإنه يستخدم فقط نسختك المحلية.
ما نفتقده عن الإجابات الأخرى هو ما يحدث على جانب شبكة سي إن إن:
من الواضح أن هذا ليس تفسيرًا تقنيًا ، لكنه يعد مساعدة مرئية رائعة (من Vladstudio.com ) التي قد تكون مفيدة للبعض:
يمكن أن تملأ المعلومات التي طلبتها للتو عشرات الكتب. ولكن فيما يلي محاولتي لشرح ذلك: يخبر متصفحك نظام التشغيل الخاص بك للعثور على عنوان IP الخاص بـ cnn.com. ثم يسأل نظام التشغيل الخاص بك خادم DNS عن عنوان IP لـ cnn.com. يتم إرسال IP إلى broswer الذي يتصل بعنوان IP ويطلب الصفحة. cnn.com ثم يرسل لك وصفحة HTML. تقوم المتصفحات بتوزيع html وترسل المعلومات إلى عارض HTML. ثم يخبر المتصفح نظام التشغيل بما يتم عرضه على الشاشة.
كان لدى Jeff Moser تحليل تقني ممتاز لطلب HTTPS على مدونته: الملي ثانية القليلة الأولى من اتصال HTTPS .
يوجد فيديو رائع حقًا بواسطة "Sendung mit der Maus" (برنامج تلفزيوني ألماني شهير للغاية للأطفال يشرح التكنولوجيا للأطفال):
Die Sendung mit der Maus - Wie funktioniert das Internet (كيف يعمل الإنترنت).
باللغة الألمانية فقط ، لسوء الحظ ، ولكن مضحك حتى مع النص. الرجال الذين يرتدون خوذات مضحكة يلعبون حزم IP ، ويتم كتابة البيانات على بطاقات ورقية. الكلاسيكية :-).
راجع للشغل ، التفسيرات هي في الواقع جيدة إلى حد ما.