- دعونا نتحدث قليلا عن الشبكة.
- دعونا نفكر في هيكل خادم العميل والبنية ثلاثية المستويات.
- دعونا نلقي نظرة على بروتوكولات HTTP/HTTPS.
- دعنا نتعلم كل ما تحتاج لمعرفته حول Maven.
- دعونا نتحدث عن السيرفلتس.
- حاويات سيرفلت.
- وأخيرا - حول MVC.
الجزء 1. دعونا نتحدث قليلا عن الشبكة
لنبدأ بالشيء الأكثر أهمية ونتحدث عن الأساس الذي تُبنى عليه جميع شبكات التواصل الاجتماعي وخدمات وتطبيقات الويب والرسائل الفورية والمواقع البسيطة - حول الشبكة ( في سياق هذه السلسلة من المقالات، يعني مصطلح "الشبكة" الإنترنت العالمية ). تتكون الشبكة من عدد كبير من أجهزة الكمبيوتر: وهي مترابطة وقادرة على التواصل. ومن المهم أن نفهم كيف يقومون بذلك، لأن تطبيقات الويب مسؤولة عن نقل المعلومات من كمبيوتر إلى آخر.نموذج شبكة OSI
ينشئ نموذج OSI (الربط البيني للأنظمة المفتوحة) نهجًا متعدد الطبقات لبناء الشبكة. إنه يوضح بوضوح كيف وعلى أي مستوى يمكن لأعضاء نفس الشبكة التفاعل مع بعضهم البعض. في المجمل، يحتوي هذا النموذج على 7 مستويات:7 | مُطبَّق |
6 | التمثيل |
5 | حصة |
4 | ينقل |
3 | شبكة |
2 | قناة |
1 | بدني |
-
1. المستوى المادي – هنا تقوم قوانين الفيزياء بعملها، ومهمة الإنسان هي أن يستخدم ذلك ويوجهه لأغراضه الخاصة. على سبيل المثال، إنشاء الكابلات وتمديدها لأعضاء الشبكة.
نحن لسنا مهتمين.
-
طبقة ربط البيانات - المسؤولة عن نقل البيانات إلى عقد الشبكة وإنشاء قنوات نقل البيانات على الأشياء المادية.
Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.
-
Сетевой уровень — для определения addressов отдельных пользователей сети и маршрутов к ним. На этом уровне стоит остановиться подробнее, а именно — на addressе пользователя в сети.
Он определяется специальным протоколом: самый распространённый — IPv4 (Internet Protocol version 4). Именно его нужно использовать веб-программисту для обращения к другому абоненту сети.
IPv4 состоит из четырех byteовых значений, разделенных точкой, например: 192.0.2.235. Стоит помнить, что значения byteовые, а значит, они лежат в пределах 0..255.
IP-address, в свою очередь, делятся на классы, и просто так присвоить себе красивую комбинацию циферок не получится, но так сильно углубляться мы не станем. Достаточно понимать, что IP-address — это уникальный идентификатор абонента в сети, по которому мы сможем к нему обратиться.
-
Транспортный уровень — занимается доставкой информации addressту. Для этого используются разные протоколы, которые нам пока не интересны. Гораздо больше нас интересует понятие, которое появляется на этом уровне, — port.
Порты отвечают за идентификацию конкретного applications на компьютере. Например, ты написал чат на Java, установил на 2 компа и хочешь отправить своему собеседнику. Твое сообщение упаковывается, отправляется по конкретному IP-addressу, доставляется твоему собеседнику, но его ПК не знает, что делать с полученной информацией, так How не понимает, Howое приложение должно обработать твое сообщение. Для этого и указываются порты при общении абонентов в сети.
Порт представляет собой число от 0 до 65535. Он добавляется к IP-addressу после двоеточия: 192.0.2.235:8080. Но нельзя использовать все порты из указанного диапазона: часть из них зарезервирована под операционную систему, еще часть принято использовать с конкретно оговоренной целью. В преднаmeaning разных портов углубляться не будем, пока достаточно понимать их роль в процессе общения в сети.
-
Сеансовый уровень — создает и управляет сеансами связи приложений. На этом уровне становится возможным взаимодействие приложений, отправка requestов служебного уровня. Для нас важно знать, что на этом уровне между двумя абонентами открывается сессия (session), с которой нам часто придется работать.
Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.
إذا اتصل أحد التطبيقات بعدة مستخدمين في وقت واحد، فسيتم إنشاء عدد مناسب من الاتصالات، وبالتالي الجلسات. تحتوي كل جلسة على معرف فريد (ID) ، والذي يسمح للتطبيق بالتمييز بين المستخدمين الذين يتم الاتصال معهم.
-
طبقة العرض - المسؤولة عن تشفير/فك تشفير البيانات. من الواضح أننا إذا أردنا إرسال السلسلة "Hello web" إلى مستخدم آخر، فسيتم تحويلها (تشفيرها) أولاً إلى رمز ثنائي، وبعد ذلك فقط يتم إرسالها. بمجرد وصولها إلى الوجهة، يتم تحويل الرسالة مرة أخرى (فك تشفيرها) ويمكن للمستلم رؤية السلسلة الأصلية. تحدث هذه الإجراءات على مستوى العرض.
-
طبقة التطبيق هي الطبقة الأكثر إثارة للاهتمام بالنسبة لنا. يسمح للتطبيقات بالتفاعل مع الشبكة. على هذا المستوى سوف نتلقى ونرسل الرسائل ونقدم الطلبات إلى الخدمات وقواعد البيانات البعيدة.
هناك العديد من البروتوكولات المستخدمة على هذا المستوى: POP3، FTP، SMTP، XMPP، RDP، SIP، TELNET وبالطبع HTTP/HTTPS. البروتوكول هو اتفاق عالمي نلتزم به عند كتابة الرسائل. سنتحدث بالتأكيد عن بروتوكولات HTTP/HTTPS بشكل منفصل وبمزيد من التفاصيل.
- عنوان IP — عنوان المشترك على الشبكة؛
- المنفذ — عنوان التطبيق لمشترك معين؛
- الجلسة هي كيان موجود طوال الاتصال بأكمله بين مشتركين؛
- بروتوكولات التطبيق (HTTP/HTTPS) هي القواعد التي سترشدنا عند إنشاء الرسائل وإرسالها.
GO TO FULL VERSION