- سنتحدث قليلا عن الشبكات.
- سنقوم بفحص بنية خادم العميل والبنية ثلاثية المستويات.
- سوف نستكشف بروتوكولات HTTP/HTTPS.
- سنتعلم كل ما تحتاج لمعرفته حول Maven.
- نحن نتحدث عن التسجيل.
- حول حاويات servlet.
- وأخيرا، حول MVC.
الجزء الأول. سنتحدث قليلاً عن التواصل.
لنبدأ بالأمر الأكثر أهمية من خلال الحديث عن ما تم بناء كل شبكة اجتماعية وخدمة ويب وتطبيق ويب ومراسلة فورية وموقع ويب بسيط - الشبكة ( في سياق هذه السلسلة من المقالات، مصطلح "شبكة" يعني الإنترنت ) . تتكون الشبكة من عدد كبير من أجهزة الكمبيوتر: فهي مترابطة وقادرة على التواصل. ومن المهم أن نفهم كيف يقومون بذلك، لأن تطبيقات الويب ترسل المعلومات من كمبيوتر إلى آخر.نموذج OSI
ينشئ نموذج الاتصال البيني للأنظمة المفتوحة (OSI) نهجًا متدرجًا لبناء الشبكة. إنه يوضح بوضوح كيف وفي أي طبقة يمكن لكيانات نفس الشبكة أن تتفاعل مع بعضها البعض. إجمالاً، هذا النموذج يحتوي على 7 طبقات:7 | طلب |
6 | عرض تقديمي |
5 | حصة |
4 | ينقل |
3 | شبكة |
2 | وصلة البيانات |
1 | بدني |
-
الطبقة المادية – تتناول هذه الطبقة قوانين الفيزياء وكيفية استخدامها لأغراضنا. على سبيل المثال، إنشاء الكابلات وتمديدها إلى الكيانات الموجودة في الشبكة.
هذه الطبقة لا تهمنا.
-
طبقة ربط البيانات - هذه الطبقة مسؤولة عن نقل البيانات إلى عقد الشبكة وإنشاء قنوات نقل البيانات للأشياء المادية.
هذه الطبقة لا تهمنا إلا إذا كنت تريد كتابة البرامج الثابتة للأجهزة التي تنشئ روابط البيانات.
-
طبقة الشبكة - هذه الطبقة مخصصة لتحديد عناوين مستخدمي الشبكة الفردية والمسارات المؤدية إليهم. هناك قيمة في معرفة المزيد عن تفاصيل هذه الطبقة، وهي عناوين الشبكة.
يتم تعريف عناوين الشبكة بواسطة بروتوكول خاص: الأكثر شيوعًا هو IPv4 (بروتوكول الإنترنت الإصدار 4). هذا هو البروتوكول الذي يحتاج مبرمج الويب إلى استخدامه للاتصال بمستخدم شبكة آخر.
يتكون عنوان IPv4 من أربع قيم بايت مفصولة بنقاط، على سبيل المثال: 192.0.2.235. يجب أن تتذكر أن هذه القيم هي بايت، مما يعني أنها تقع ضمن النطاق 0..255.
وتنقسم عناوين IP بدورها إلى فئات. لا يمكننا ببساطة أن نخصص لأنفسنا مجموعة جميلة من الأرقام، لكننا لن نتعمق كثيرًا هنا. يكفي أن نفهم أن عنوان IP يحدد مستخدم الشبكة بشكل فريد ويمكن استخدامه للاتصال بهذا المستخدم.
-
طبقة النقل - تعالج هذه الطبقة تسليم المعلومات إلى المرسل إليه. يتم استخدام بروتوكولات مختلفة لتحقيق ذلك. في الوقت الحالي، نحن لسنا مهتمين بهم. نحن مهتمون أكثر بمفهوم المنفذ الذي يظهر في هذه الطبقة.
المنافذ مسؤولة عن تحديد تطبيق معين على جهاز الكمبيوتر. على سبيل المثال، لنفترض أنك تكتب تطبيق دردشة بلغة Java، وتثبته على جهازي كمبيوتر، وتريد إرسال رسالة إلى صديقك. يتم تجميع رسالتك وإرسالها إلى عنوان IP محدد وتسليمها إلى صديقك، لكن جهاز الكمبيوتر الخاص به لا يعرف ما يجب فعله بالمعلومات المستلمة، لأنه لا يفهم التطبيق الذي يجب أن يعالج رسالتك. عندما تتواصل كيانات الشبكة، يتم استخدام المنافذ للإشارة إلى التطبيق الذي يجب أن يعالج المعلومات.
المنفذ عبارة عن رقم يقع في النطاق من 0 إلى 65535. ويتم إضافته إلى عنوان IP بعد نقطتين: 192.0.2.235:8080 . لكن لا يمكنك استخدام كافة المنافذ الموجودة في النطاق المحدد: فبعضها محجوز لنظام التشغيل، والبعض الآخر يُستخدم عادةً لأغراض محددة. لن نخوض في أغراض المنافذ المختلفة. في الوقت الحالي، يكفي أن نفهم دورهم في عملية الاتصال على الشبكة.
-
طبقة الجلسة - تقوم هذه الطبقة بإنشاء جلسات الاتصال وإدارتها. في هذه الطبقة، يصبح من الممكن للتطبيقات أن تتفاعل، وترسل طلبات على مستوى الخدمة. ما نحتاج إلى معرفته هو أنه في هذه الطبقة يتم فتح جلسة بين مستخدمين، وعلينا العمل مع الجلسة.
الجلسة هي كيان يتم إنشاؤه عند إنشاء اتصال بين مستخدمين. يمكنه تخزين المعلومات الضرورية عن المستخدم وعن تاريخ التفاعل مع المستخدم. من التفاصيل المهمة أنه عندما يتوقف تبادل المعلومات، لا تختفي الجلسة. وبدلاً من ذلك، فإنه يحتفظ بحالته لفترة زمنية محددة، حتى يتمكن المستخدمون من الاستمرار في تبادل المعلومات بعد فترة انقطاع.
إذا كان التطبيق يتصل بعدة مستخدمين في نفس الوقت، فسيتم إنشاء عدد مماثل من الاتصالات (وبالتالي الجلسات). تحتوي كل جلسة على معرف فريد (ID) ، والذي يسمح للتطبيق بالتمييز بين المستخدمين الذين يتواصل معهم.
-
طبقة العرض - هذه الطبقة مسؤولة عن تشفير/فك تشفير البيانات. من الواضح أننا إذا أردنا إرسال السلسلة "Hello web" إلى مستخدم آخر، فسيتم تحويلها أولاً إلى رمز ثنائي (مشفر كـ)، وبعد ذلك فقط يتم إرسالها. عند الوصول إلى المستلم، يتم تحويل الرسالة مرة أخرى (فك تشفيرها)، ويمكن للمستلم رؤية السلسلة الأصلية. تتم هذه الإجراءات في طبقة العرض.
-
طبقة التطبيق هي الطبقة الأكثر إثارة للاهتمام بالنسبة لنا. يسمح للتطبيقات بالتواصل مع الشبكة. في هذه الطبقة، نستقبل ونرسل الرسائل ونقدم طلبات إلى الخدمات وقواعد البيانات البعيدة.
هناك العديد من البروتوكولات المستخدمة في هذه الطبقة: POP3، FTP، SMTP، XMPP، RDP، SIP، TELNET وبالطبع HTTP/HTTPS. البروتوكول هو اتفاق عالمي نلتزم به عند التواصل. سنقدم بالتأكيد مناقشة تفصيلية منفصلة حول HTTP/HTTPS.
- عنوان IP — عنوان المستخدم في الشبكة
- المنفذ — عنوان تطبيق مستخدم محدد
- الجلسة — كيان موجود طوال فترة الاتصال بين مستخدمين
- بروتوكولات التطبيق (HTTP/HTTPS) - هذه هي القواعد التي سنتبعها عند إنشاء الرسائل وإرسالها.
GO TO FULL VERSION