لتجربة قراءة أفضل تفضل بزيارة المقالة على زد
لفهم كيفية عمل الإنترنت بشكلٍ كاملٍ، علينا العودة إلى نقطة البداية. حيث إن الإنترنت في الواقع ليست إلا شبكةً عالميةً من الحواسيب المترابطة، والمعروفة باسم شبكة الويب العالمية (World Wide Web ومن هنا نشأ الاختصار www). ومن ضمن هذه الحواسيب المرتبطة توجد الأجهزة التي تستعملها للتصفح بالإضافة إلى الأجهزة التي ترسل المحتوى (الخوادم). ثم طُوِّرت طرق نقل البيانات لاسلكيًّا بين الحواسيب في وقتٍ مبكرٍ من الستينيات، ولكن لم يكن يوجد حينها سوى شبكاتٍ صغيرةٍ تربط بين المؤسسات.
ولم يتم اختراع شبكة الويب العالمية إلا في الثمانينيات من قبل عالم الحاسوب تيم بيرنر لي الذي يعمل في منظمة سيرن (CERN). صُمِّمت الشبكة في الأصل كمصدر معلوماتٍ للأبحاث الأكاديمية، مما يعني أن لغة تنسيق صفحات الويب CSS لم تكن موجودةً (وبالتالي لا يمكن أن تضيف لصفحات الويب تصميمات مخصصة). كانت صفحة الويب في الأساس ملفًا مُخزَّنًا على خادمٍ ما، ويتم إرساله إلى الحاسوب عند طلبه.
كان أحد أهم خصائص الإنترنت في بداياتها هو النص التشعبي (hypertext ومنه استخلص اختصار HTML، كما أوضحت في مقالٍ سابقٍ). والنص التشعبي طريقةٌ لترميز المحتوى – أن نقول: “هذا عنوان” أو “هذا اقتباس” أو “هذه قائمة” على سبيل المثال. كانت صحة الترميز مهمةً جدًّا، حيث لم تكن هناك طريقةٌ لتصميم المحتوى بخلاف الأنماط الافتراضية. كانت الروابط أيضًا أمرًا مهمًّا في بدايات الإنترنت، لأنها أتاحت للناس توصيل المستندات من جميع أنحاء العالم بين بعضها (ألم يصبح هذا بديهيًّا الآن؟)
هذا هو الأساس الذي شكل الإنترنت في بداياتها، ما يمنحنا قاعدةً صلبةً لفهم كيفية عملها الآن (والمدهش أنهما متشابهان جدًّا).
ماذا يحدث عندما تزور أحد مواقع الويب؟
عندما تنتقل إلى موقع ويب، يكون لديه عنوان URL (محدد موقع الموارد المُوحّد Universal Resource Locator). على سبيل المثال: عنوان (URL) لصفحة مقالاتي هو https://ziid.net/authors/mustaphabchn/، وعنوان (URL) الخاص بالصفحة الرئيسية هو https://ziid.net/.
(ziid.net) يعرف بأنه اسم النطاق. هناك العديد من امتدادات النطاق المختلفة، مثل: (.com و .ioو.blog) النطاق هو مجرد وسيلة منمقة للوصول إلى عنوان آي بي (IP). وكل جهازٍ متصلّ بالإنترنت يملك عنوان آي بي سواءٌ كان خادمًا أو حاسوبًا عاديًّا. حتى إنه بإمكاني الدخول إلى عنوان الآي بي الخاص بك (إن كنت أعرفه)، عدا أني لن أجد شيئًا لأنك لا تشغل خادمًا في حاسوبك. عندما تنتقل إلى عنوان (URL)، يتصل حاسوبك بخادم نظام أسماء النطاقات (DNS)، والذي يبحث بدوره عن عنوان الآي بي الذي يوافق النطاق الذي أدخلته.
الآن وقد حصلت على عنوان الآي بي الخاص بالخادم الذي عليه موقعك، فإن حاسوبك بحاجةٍ لطلب صفحة الويب، أو بصيغةٍ أدق الملف. ماذا؟ ملف؟ نعم، هذا صحيح – فصفحة الويب ليست إلا ملفًا يفتحه متصفحك ويعرضه لك، بكل بساطةٍ، عند إرسال طلب إلى الخادم، يكتشف الخادم أنه تم طلب ملف. فيقوم بالبحث عنه، وربما يقوم ببعض الأمور الأخرى مثل إضافة شيءٍ إلى قاعدة البيانات (هذه هي البرمجة الخلفية)، ثم يرسل الملف عبر الإنترنت مرة أخرى إلى حاسوبك. بعد ذلك يقوم المتصفح الذي تستعمله بقراءة الملف (الذي يحتوي على النص البرمجي فقط) ويعرض نتيجة هذا النص.
8 أنشطة يمكنك فعلها إذا كنت أمام الأنترنت ولا تدري ماذا تفعل؟
أهم التطبيقات المجانية لتعلم البرمجة والتكويد عبر هاتفك
ولكن ما هو هذا النص البرمجي، وكيف يعمل؟
ما هي مكونات موقع الويب؟
يتم ترميز موقع الويب بثلاث لغات يفسرها المستعرض: لغة ترميز النص الفائق (HTML) و سي إس إس (CSS) وجافا سكريبت (JavaScript). قد تستخدم بعض مواقع الويب مكتباتٍ برمجية أخرى، مثل jQuery، ولكن هذه الأخيرة تُعَدُّ جزءًا من JavaScript.
إن لغة ترميز النص الفائق (HTML) هي أساس موقع الويب، عندما تم إنشاءُ الإنترنت لأول مرة، كانت هي لغة الإنترنت الوحيدة الموجودة، فلم يكونوا حينها بحاجةٍ إلى مواقع جميلة وتقوم بإنجاز أمور مختلفة، كان الغرض الوحيد من الإنترنت في ذلك الوقت هو مشاركة المعلومات، وكانت (HTML) تقوم بالمهمة على أتمّ وجهٍ. على الرغم من إضافة وتغيير الكثير من الأشياء في (HTML)، إلا أنها لا تزال في جوهرها مثلما كانت عليه في الثمانينيات. (HTML) في الحقيقة هو نصٌّ عادي ولكنه محاط بالوسوم بحيث يعرف المستعرض المزيد عن المحتوى. خذ هذا المثال:
- هذا عنوان
- هذه مجرد فقرة للتجربة، تمثل النص الأساسي.
هنا، يوجد عنوان والنص تحته هو النص الرئيسي. سيعرض المتصفح شيئًا مثل هذا:
هذا عنوان
هذه مجرد فقرة للتجربة، تمثل النص الأساسي. الآن، شاهد ما يحدث عند إضافة الوسوم:
<h1> هذا عنوان </h1>
<p>هذه مجرد فقرة للتجربة، تمثل النص الأساسي.</p>
النتيجة:
هذا عنوان
هذه مجرد فقرة للتجربة، تمثل النص الأساسي. عندما نضيف وسوم (HTML) يصبح من السهل تمييز العنوان عن غيره. من جهتها، سي إس إس (CSS) هي ما يتحكم في تنسيق الموقع – أو ما يبدو عليه. كان الويب قبل (CSS) يبدو متشابهًا بأكمله، وفي منتهى القبح. إليك الشكل الذي ستبدو عليه مقالة الويب بدون CSS:
من ناحية أخرى، تشبه جافا سكريبت (JavaScript) معظم لغات البرمجة؛ إذ لديها متغيرات (مثل سين أو x في الجبر)، ويمكنك بواسطتها تخزين البيانات ومقارنتها ومعالجتها. والاستخدام الرئيسي لجافا سكريبت على الويب هو لتغيير محتوى (HTML). على سبيل المثال: تفقد مولد الأرقام الأولية هذا الذي تم إنشاؤه باستخدام جافا سكريبت. يقوم هذا المُولِّد بعددٍ من الحسابات والمقارنات وما شابه، ليولِّد أرقامًا أوليةً، ثم يضيفها إلى كود (HTML) الخاص بالصفحة.
يمكن لـ (JavaScript) قراءة وكتابة (HTML). صحيح أن هذه اللغة أُنشئت في الأصل للويب ولكن لديها الآن العديد من الاستخدامات. يتيح لك NodeJS القيام بآلاف الأشياء باستخدام (JavaScript) بما في ذلك إنشاء تطبيقات سطح المكتب وتطبيقات الهاتف وروبوتات الدردشة (الشات بوت) والخوادم والكثير غير ذلك. من خلال تعلم (JavaScript) ستفتح العديد من الفرص أمامك (على الرغم من أنها مختلفة تمامًا عن HTML و CSS).
انقر هنا إذا كنت تريد مشاهدة أمثلة لما تبدو عليه هذه اللغات.
عرض مواقع الويب التي أُنشئت على حاسوبك الشخصي
هل تذكر قولنا: إن كل ما تفعله عناوين (URL) هو إخبار حاسوبك بالمكان الذي يمكن تنزيل موقع الويب منه حتى يتمكن من عرضه؟ حسنًا، إليك هذا: يمكن للمتصفحات أيضًا عرض الملفات على حاسوبك، لا تنس أن مواقع الويب هي مجرد مجلدات تحتوي على ملفاتٍ مشابهةٍ لما يوجد في حاسوبك، والخوادم ليست إلا حواسيب في نهاية الأمر. سنتعمق في الأمر في المقالات القادمة، حيث ستتعلم مجانًا كيف بإمكانك ممارسة تطوير الويب على حاسوبك.