كيف يوصل الطلب للموقع
من أول ما تدوس على الرابط لحد ما تطلع الصفحة — خطوة خطوة.
الإنترنت مش سحابة. هي كيبلات، وأجهزة توجّه، وعناوين. كل مرة تفتح موقع، عم بتعمل رحلة محددة جداً.
الرحلة السبعة
- 1تكتب cyberzero.dev — المتصفح ما بيعرف إلا الأرقام، فلازم يحوّل الاسم لرقم.
- 2يسأل خادم DNS: 'إيش رقم هذا الاسم؟' — بيرد: 93.184.216.34.
- 3يبني طلب HTTP: نص بيقول 'أرسليلي هذه الصفحة'، مع هوية متصفحك وجلساتك.
- 4الطلب بيمشي عبر كيبلات وموجّهات (routers) لكل واحد عنوانه الخاص.
- 5يوصل لخادم الموقع، اللي بيشغّل برنامج (nginx, apache…) بيقرأ الطلب.
- 6الخادم بجهّز الرد: أحياناً من قاعدة بيانات، وأحياناً بيحسبه لحظياً.
- 7الرد بيرجع، والمتصفح بيرسمه: نصوص، صور، وأكواد تشتغل عندك أنت.
آخر نقطة هي الأهم للأمن: جزء من كود الموقع بيشتغل داخل جهازك أنت (JavaScript). يعني الهجوم ما بينحصر بالخادم — ممكن يصيب زوّاره.
HTTP: لغة فيها طلب ورد
GET /login HTTP/1.1
Host: shop.example
Cookie: session=abc123
---
HTTP/1.1 200 OK
Content-Type: text/htmlلاحظ إنو الطلب 'نص'. معناه: كل شي فيه قابل للقراءة والتعديل. HTTPS بيشفّر الطريق بينك وبين الموقع، فما يشوفه أحد بالطريق — بس الموقع نفسه بيقرأ كل شي.
الطوابع (Methods)
- GET: 'أعطيني شي' — المفروض ما يغيّر بالبيانات.
- POST: 'هذا كلام خذو وعملوا فيه' — هنا تروح كلمات السر والطلبات.
- PUT / PATCH: 'عدّل'.
- DELETE: 'امسح'.
الكثير من الثغرات سببها إنو الموقع بيصدق الزبون: بيقبل DELETE من شخص ما المفروض يحذف، أو بيقرأ بارامتر من العنوان بلا ما يتأكد منه.
خلّينا نطبّق خطوة بخطوة
سنرى خطأ موقع يمنح إذن الدخول اعتماداً على معلومة يرسلها الزائر بنفسه.
بكلمات بسيطة: الترويسة: معلومة صغيرة مرفقة بالطلب. الطلب: رسالة من المتصفح إلى الموقع. هنا لا تُرسل أي رسالة إلى نظام حقيقي.
الخطوة 1 من 2
اترك اسم الترويسة كما هو، واكتب قيمة عادية واضغط «أرسل الطلب».
ليش؟ نختبر ماذا يحدث دون القيمة التي يتوقعها المثال.
شو لازم تشوف؟ يظهر الرقم ٤٠٣: الوصول مرفوض.
اختبار سريع
اقرأ السؤال واضغط الإجابة التي تراها صحيحة. يظهر تحتها سبب الإجابة؛ وإذا أخطأت، اقرأ السبب وغيّر اختيارك. يُسجّل الدرس مكتملًا عندما تصح كل إجاباتك.
أيش بيعمل خادم DNS بالضبط؟
HTTPS إيش بيحمي؟