في هذا الدرس سنتعرف على الكيفية التي يعمل بها الإنترنت خلف الكواليس. سنفهم الفرق بين العميل (Client) مثل متصفحك أو هاتفك، والخادم (Server) الذي يخزن المواقع والملفات. كما سنستعرض دورة الطلب والاستجابة (Request & Response Cycle) من لحظة كتابة عنوان الموقع وحتى ظهور الصفحة أمامك.
تخيل معايا إنك دلوقتي فتحت المتصفح وكتبت: google.com … في ثواني الصفحة ظهرت قدامك!
لكن هل سألت نفسك: إيه اللي بيحصل وراء الكواليس؟
إزاي جهازك الصغير اللي في إيدك يقدر يوصل لملايين الصفحات والمواقع في لحظة؟
السر كله في حاجة اسمها: العميل (Client) و الخادم (Server). العميل هو جهازك أو المتصفح اللي بيطلب المعلومة، والخادم هو الكمبيوتر القوي اللي بيخزن الملفات وبيبعتلك النتيجة.
في الدرس ده، هنتعلم خطوة بخطوة إزاي بتتم الرحلة من أول ما تكتب عنوان الموقع لحد ما الصفحة بتظهر كاملة قدامك. هنفهم دورة الطلب والاستجابة اللي هي قلب الإنترنت.
1) ما هو الإنترنت؟
الإنترنت ببساطة هو: شبكة من الشبكات تربط أجهزة العالم ببعضها عبر قواعد موحدة تسمى بروتوكولات (أشهرها TCP/IP). أي جهاز متصل—كمبيوتر، موبايل، خادم—يستطيع تبادل البيانات على هذه الشبكة.
العناصر الأساسية
- الأجهزة (Hosts): أجهزة المستخدمين والخوادم.
- مزودو الخدمة (ISP): الشركة المسؤله عن توصيل الإنترنت.
- الموجهات (Routers): توجه البيانات لأقصروأفضل طريق.
- العناوين (IP Addresses): “رقم” لكل جهاز على الشبكة.
- البروتوكولات: قواعد التخاطب مثل HTTP/HTTPS لتصفح الويب.
اسم الموقع… وليس الرقم!
example.com
، لكن الشبكات تتعامل بأرقام IP. هنا يأتي دور DNS: نظام أسماء النطاقات الذي يحوّل الاسم إلى عنوان IP (يشبه “دفتر عناوين” للإنترنت).فرق مهم: الإنترنت ≠ الويب
رحلة مبسطة عند كتابة عنوان موقع
- المتصفح يسأل DNS: “ما عنوان IP لـ
example.com
؟” - يحصل على IP يطلب الصفحة من الخادم باستخدام HTTP/HTTPS.
- الخادم يرد بملفات (HTML, CSS, JS, صور).
- المتصفح يرتبها ويعرض الصفحة أمامك.
Your Browser (Client)
│ URL
▼
DNS Lookup ──► IP Address
│
▼ HTTP/HTTPS Request
Server (Website)
│
▼ Response (HTML/CSS/JS)
Your Browser renders the page
لمحة عن الأمان
مصطلحات مفتاحية
- IP: عنوان الجهاز على الشبكة.
- DNS: يحول الاسم إلى IP.
- HTTP/HTTPS: بروتوكول نقل صفحات الويب.
- Client/Server: طالب الخدمة ومزودها.
تمرين سريع (2–3 دقائق)
- افتح متصفحك، اكتب أي موقع، ثم افتح Developer Tools → Network.
2) العميل (Client) والخادم (Server)
الفكرة الأساسية
الويب قائم على نموذج العميل–الخادم (Client–Server Model).
- العميل (Client): جهازك أو المتصفح اللي بيطلب المعلومة (زي Chrome أو Firefox).
- الخادم (Server): جهاز كمبيوتر قوي بيحتوي الملفات وقواعد البيانات والبرامج، وظيفته يرد على الطلبات ويرسل البيانات للعميل.
دورة الطلب والاستجابة (Request–Response Cycle)
example.com/about
المتصفح يبعت رسالة HTTP للخادم بتقول:- “أريد صفحة /about”
- يراجع الكود أو الملفات عنده ثم يحدد الاستجابة المناسبة.
- يبعث HTML + CSS + JS + صور … إلخ.
- يقوم بترجمة الملفات إلى صفحة مرئية تقدر تتفاعل معاها.
مثال مبسط
- العميل: "أعطني الصفحة الرئيسية"
- الخادم: "تفضل، هذه صفحة index.html"
- العميل: "أحتاج ملفات CSS"
- الخادم: "ها هي style.css"
- العميل: "والصور؟"
- الخادم: "تفضل image1.png, image2.jpg"
شكل توضيحي (ASCII Art)
[Client: Browser] ---> (HTTP Request) ---> [Server: Website]
[Client: Browser] <--- (HTTP Response) <--- [Server: Website]
مثال عملي (Request/Response حقيقي باستخدام curl)
لو كتبت في التيرمنال:
curl -i https://example.com
تمرين بسيط (5 دقائق)
- افتح DevTools → Network في متصفحك.
- زر أي موقع (مثلا wikipedia.org).
- لاحظ أول طلب (Document – HTML).
- شوف بعده طلبات CSS, JS, Images.
- حاول ترسم "خريطة مصغّرة" للطلب والاستجابة زي اللي فوق.
3) ماذا يحدث عند كتابة عنوان موقع؟
لما تكتب في المتصفح: www.example.com … بيحصل سلسلة خطوات منظمة لحد ما الصفحة تظهر قدامك:
1. إدخال العنوان (URL)
https://www.example.com/about
بيتكون من:
- Protocol: https → طريقة الاتصال.
- Domain Name: example.com → اسم الموقع.
- Path: /about → الصفحة المطلوبة داخل الموقع.
2. البحث عن الخادم (DNS Lookup)
3. إنشاء الاتصال (TCP/IP + HTTPS)
- بعد معرفة الـ IP، المتصفح يفتح "خط اتصال" مع الخادم.
البروتوكولات المسؤولة:
- TCP/IP: أساس نقل البيانات.
- TLS/SSL: لتأمين الاتصال (في حالة HTTPS).
4. إرسال الطلب (HTTP Request)
- المتصفح يبعث طلب مثل:
GET /about HTTP/1.1
Host: www.example.com
5. استلام الاستجابة (HTTP Response)
- الخادم يرد بمثل:
HTTP/1.1 200 OK
Content-Type: text/html
ومعاها ملفات HTML (وفي طلبات تالية CSS, JS, Images…).
6. بناء الصفحة (Rendering)
المتصفح يستقبل الملفات ويبدأ يقرأ HTML يبني هيكل الصفحة. يطبق CSS يضيف الألوان والتصميم. يشغل JavaScript يضيف التفاعل والحركة. يعرض النتيجة النهائية على الشاشة.الشكل التوضيحي المبسط
URL → DNS → TCP/IP → HTTP Request → Server → HTTP Response → Browser Render → Web Page
تمرين سريع (Thinking Exercise)
- افتح أي موقع جديد أول مرة (لم تدخله من قبل).
- افتح DevTools → Network.
- لاحظ أول خطوة DNS ثم TLS Handshake ثم تحميل HTML.
- حاول تكتب الخطوات اللي فهمتها بكلماتك الخاصة.
4) مكونات صفحة الويب (HTML – CSS – JavaScript)
بعد ما المتصفح يستلم الاستجابة من الخادم، يبتدي يكون الصفحة اللي بتشوفها. الصفحة دي مبنية من 3 عناصر أساسية، كل واحد منهم ليه دور محدد:
أولاً: HTML (هيكل الصفحة)
- HTML (Hypertext Markup Language) هو الأساس. بيحدد "إيه موجود" على الصفحة:
- عناوين (Headings)
- فقرات (Paragraphs)
- صور (Images)
- روابط (Links)
مثال بسيط:
<h1>Welcome to My Website</h1>
<p>This is a short introduction.</p>
<img src="profile.jpg" alt="My Profile Picture">
ثانياً: CSS (التصميم والشكل)
- CSS (Cascading Style Sheets) مسؤول عن:
- الألوان
- حجم الخطوط
- ترتيب العناصر
- الخلفيات
نفس مثالنا بعد إضافة CSS:
h1 {
color: blue;
text-align: center;
}
p {
font-size: 18px;
color: gray;
}
ثالثا: JavaScript (التفاعل والحركة)
JavaScript هو اللي بيخلي الصفحة "حية" وتتفاعل مع المستخدم.مثل:- زر يفتح رسالة منبثقة.
- شريط صور متحرك (Slider).
- التحقق من بيانات النموذج قبل الإرسال.
مثال صغير:
document.querySelector("h1").onclick = function() {
alert("You clicked the heading!");
}
كيف يشتغلوا مع بعض؟
- HTML = (الهيكل).
- CSS = (الشكل).
- JavaScript = (الديناميكية).
تمرين عملي
-
أنشئ ملف
index.html
. - أضف فقرة وصورة.
- جرب تغير لون الفقرة بخاصية CSS.
- أضف كود JavaScript يغير النص لما تضغط على الفقرة.
5) دورة الطلب والاستجابة (Client–Server Model)
الإنترنت يعمل طول الوقت على مفهوم بسيط اسمه: الطلب (Request) و الاستجابة (Response).
خلينا نشوفها خطوة بخطوة:
الخطوة 1: العميل يطلب
لما تكتب رابط (URL) في المتصفح وتضغط Enter المتصفح (Client) يبعت طلب للخادم.
الطلب ده بيتضمن:
- عنوان الموقع (Domain)
- نوع المتصفح
- الصفحة أو الملف المطلوب
الخطوة 2: الخادم يستقبل
الخطوة 3: الخادم يرد
الاستجابة اللي بيرجعها الخادم بتكون غالبًا:
- ملفات HTML
- ملفات CSS
- ملفات JavaScript
- صور أو فيديو
الخطوة 4: العميل يعرض
مثال توضيحي (تشبيه واقعي)
تجربة عملية بسيطة
-
افتح أي موقع (مثلاً:
https://example.com
). - اضغط Right Click → Inspect → Network Tab.
- هتلاقي المتصفح بيبعت Requests كتير للخادم (ملفات HTML, CSS, JS, صور).
- وهتلاقي الخادم بيرجع Responses.
تمرين عملي
- اكتب خطوات رحلة "طلب–استجابة" بكلماتك الخاصة.
- حاول تعمل رسمة بسيطة توضح العلاقة بين: Client ↔ Server.
الخلاصة
اختبار قصير
1. من المسؤول عن تخزين الملفات وتشغيل المواقع؟
2.عندما تكتب "google.com" في المتصفح، إيه أول حاجة بتحصل؟
3. دورة الإنترنت بتتكون من خطوتين رئيسيتين هما: