
- আমরা নেটওয়ার্কিং সম্পর্কে একটু কথা বলব।
- আমরা ক্লায়েন্ট-সার্ভার এবং তিন-স্তরের আর্কিটেকচার পরীক্ষা করব।
- আমরা HTTP/HTTPS প্রোটোকলগুলি অন্বেষণ করব৷
- ম্যাভেন সম্পর্কে আপনার যা জানা দরকার আমরা তা শিখব।
- আমরা লগিং সম্পর্কে কথা বলছি.
- সার্লেট পাত্র সম্পর্কে.
- এবং অবশেষে, MVC সম্পর্কে।
পার্ট 1. আমরা নেটওয়ার্কিং সম্পর্কে একটু কথা বলব।
প্রতিটি সোশ্যাল নেটওয়ার্ক, ওয়েব পরিষেবা এবং ওয়েব অ্যাপ, ইনস্ট্যান্ট মেসেঞ্জার এবং সাধারণ ওয়েবসাইট কী তৈরি করা হয়েছে — নেটওয়ার্ক ( এই সিরিজের নিবন্ধগুলির প্রেক্ষাপটে, "নেটওয়ার্ক" শব্দের অর্থ ইন্টারনেট ) সম্পর্কে কথা বলে সবচেয়ে গুরুত্বপূর্ণ বিষয়গুলি দিয়ে শুরু করা যাক . নেটওয়ার্কটিতে প্রচুর সংখ্যক কম্পিউটার রয়েছে: তারা আন্তঃসংযুক্ত এবং যোগাযোগ করতে সক্ষম। তারা কীভাবে এটি করে তা বোঝা গুরুত্বপূর্ণ, কারণ ওয়েব অ্যাপ্লিকেশনগুলি এক কম্পিউটার থেকে অন্য কম্পিউটারে তথ্য পাঠায়।ওএসআই মডেল
ওপেন সিস্টেম ইন্টারকানেকশন (OSI) মডেল একটি নেটওয়ার্ক তৈরি করার জন্য একটি টায়ার্ড পদ্ধতি তৈরি করে। এটি স্পষ্টভাবে দেখায় কিভাবে এবং কোন স্তরে একই নেটওয়ার্কের সত্তা একে অপরের সাথে যোগাযোগ করতে পারে। সব মিলিয়ে, এই মডেলটিতে 7 টি স্তর রয়েছে:7 | আবেদন |
6 | উপস্থাপনা |
5 | সেশন |
4 | পরিবহন |
3 | অন্তর্জাল |
2 | ডাটা লিংক |
1 | শারীরিক |
-
ভৌত স্তর — এই স্তরটি পদার্থবিদ্যার আইন এবং কীভাবে সেগুলিকে আমাদের উদ্দেশ্যে ব্যবহার করতে হয় তা নিয়ে আলোচনা করে। উদাহরণস্বরূপ, তারগুলি তৈরি করা এবং সেগুলিকে নেটওয়ার্কের সত্তাগুলিতে স্থাপন করা।
এই স্তর আমাদের আগ্রহী না.
-
ডেটা লিঙ্ক স্তর — এই স্তরটি নেটওয়ার্ক নোডে ডেটা প্রেরণ এবং ভৌত বস্তুর জন্য ডেটা ট্রান্সমিশন চ্যানেল তৈরি করার জন্য দায়ী।
এই স্তরটি আমাদের আগ্রহী করে না যদি না আপনি হার্ডওয়্যারের জন্য ফার্মওয়্যার লিখতে চান যা ডেটা লিঙ্ক স্থাপন করে।
-
নেটওয়ার্ক স্তর — এই স্তরটি পৃথক নেটওয়ার্ক ব্যবহারকারীদের ঠিকানা এবং তাদের যাওয়ার পথ নির্ধারণের জন্য। এই স্তরের বিশদ বিবরণ, যথা, নেটওয়ার্ক ঠিকানা সম্পর্কে আরও জানার মূল্য রয়েছে।
নেটওয়ার্ক ঠিকানাগুলি একটি বিশেষ প্রোটোকল দ্বারা সংজ্ঞায়িত করা হয়: সবচেয়ে সাধারণ হল IPv4 (ইন্টারনেট প্রোটোকল সংস্করণ 4)। এটি এমন একটি প্রোটোকল যা একজন ওয়েব প্রোগ্রামারকে অন্য নেটওয়ার্ক ব্যবহারকারীর সাথে যোগাযোগ করতে ব্যবহার করতে হবে।
একটি IPv4 ঠিকানায় পিরিয়ড দ্বারা পৃথক করা চারটি বাইট মান থাকে, উদাহরণস্বরূপ: 192.0.2.235৷ আপনার মনে রাখা উচিত যে এই মানগুলি হল বাইট, যার মানে হল সেগুলি 0..255 পরিসরের মধ্যে রয়েছে৷
আইপি ঠিকানা, ঘুরে, ক্লাসে বিভক্ত করা হয়। আমরা কেবল নিজেদেরকে সংখ্যার একটি সুন্দর সমন্বয় বরাদ্দ করতে পারি না, তবে আমরা এখানে খুব গভীরে যাব না। এটি বোঝার জন্য যথেষ্ট যে একটি IP ঠিকানা অনন্যভাবে একটি নেটওয়ার্ক ব্যবহারকারীকে সনাক্ত করে এবং সেই ব্যবহারকারীর সাথে যোগাযোগ করতে ব্যবহার করা যেতে পারে।
-
ট্রান্সপোর্ট লেয়ার — এই লেয়ারটি অ্যাড্রেসের কাছে তথ্য সরবরাহ করে। এটি সম্পন্ন করার জন্য বিভিন্ন প্রোটোকল ব্যবহার করা হয়। আপাতত, আমরা তাদের প্রতি আগ্রহী নই। আমরা একটি পোর্টের ধারণায় অনেক বেশি আগ্রহী , যা এই স্তরে উপস্থিত হয়।
পোর্টগুলি একটি কম্পিউটারে একটি নির্দিষ্ট অ্যাপ্লিকেশন সনাক্ত করার জন্য দায়ী। উদাহরণস্বরূপ, ধরুন আপনি জাভাতে একটি চ্যাট অ্যাপ লিখেছেন, এটি 2টি কম্পিউটারে ইনস্টল করুন এবং আপনার বন্ধুকে একটি বার্তা পাঠাতে চান। আপনার বার্তা প্যাকেজ করা হয়েছে, একটি নির্দিষ্ট আইপি ঠিকানায় পাঠানো হয়েছে, এবং আপনার বন্ধুর কাছে বিতরণ করা হয়েছে, কিন্তু তার কম্পিউটার প্রাপ্ত তথ্যের সাথে কী করতে হবে তা জানে না, কারণ এটি বুঝতে পারে না কোন অ্যাপ্লিকেশনটি আপনার বার্তাটি প্রক্রিয়া করবে৷ যখন নেটওয়ার্ক সত্তা যোগাযোগ করে, তখন কোন অ্যাপ্লিকেশনটি তথ্য প্রক্রিয়া করবে তা নির্দেশ করতে পোর্টগুলি ব্যবহার করা হয়।
পোর্ট হল 0 থেকে 65535 পরিসরের একটি সংখ্যা। এটি একটি কোলনের পরে IP ঠিকানায় যোগ করা হয়: 192.0.2.235:8080 । তবে আপনি নির্দিষ্ট পরিসরে সমস্ত পোর্ট ব্যবহার করতে পারবেন না: তাদের মধ্যে কিছু অপারেটিং সিস্টেমের জন্য সংরক্ষিত, অন্যগুলি প্রথাগতভাবে নির্দিষ্ট উদ্দেশ্যে ব্যবহৃত হয়। আমরা বিভিন্ন বন্দরের উদ্দেশ্য অনুসন্ধান করব না। আপাতত, নেটওয়ার্কে যোগাযোগের প্রক্রিয়ায় তাদের ভূমিকা বোঝা যথেষ্ট।
-
সেশন লেয়ার — এই লেয়ার যোগাযোগ সেশন তৈরি করে এবং পরিচালনা করে। এই স্তরে, অ্যাপ্লিকেশনগুলির জন্য ইন্টারঅ্যাক্ট করা, পরিষেবা-স্তরের অনুরোধ পাঠানো সম্ভব হয়৷ আমাদের যা জানা দরকার তা হল এই স্তরে দুটি ব্যবহারকারীর মধ্যে একটি সেশন খোলা হয় এবং আমাদের সেশনের সাথে কাজ করতে হবে।
একটি সেশন হল একটি সত্তা তৈরি করা হয় যখন দুটি ব্যবহারকারীর মধ্যে একটি সংযোগ স্থাপন করা হয়। এটি একটি ব্যবহারকারী সম্পর্কে এবং ব্যবহারকারীর সাথে মিথস্ক্রিয়া ইতিহাস সম্পর্কে প্রয়োজনীয় তথ্য সংরক্ষণ করতে পারে। একটি গুরুত্বপূর্ণ বিশদ হল যে যখন তথ্য বিনিময় বন্ধ হয়ে যায়, সেশনটি অদৃশ্য হয়ে যায় না। পরিবর্তে, এটি একটি নির্দিষ্ট সময়ের জন্য তার অবস্থা বজায় রাখে, যাতে ব্যবহারকারীরা বিরতির পরে তথ্য বিনিময় চালিয়ে যেতে পারেন।
যদি একটি অ্যাপ্লিকেশন একই সময়ে একাধিক ব্যবহারকারীর সাথে যোগাযোগ করে, তাহলে একটি সংশ্লিষ্ট সংখ্যক সংযোগ (এবং এইভাবে সেশন) প্রতিষ্ঠিত হয়। প্রতিটি সেশনের একটি অনন্য শনাক্তকারী (আইডি) থাকে , যা অ্যাপ্লিকেশনটিকে তাদের সাথে যোগাযোগকারী ব্যবহারকারীদের মধ্যে পার্থক্য করতে দেয়৷
-
উপস্থাপনা স্তর — এই স্তরটি ডেটা এনকোডিং/ডিকোডিংয়ের জন্য দায়ী। স্পষ্টতই, যদি আমাদের অন্য ব্যবহারকারীকে "হ্যালো ওয়েব" স্ট্রিংটি পাঠাতে হয়, এটি প্রথমে বাইনারি কোডে (এনকোড করা) রূপান্তরিত হয় এবং শুধুমাত্র তারপরে এটি পাঠানো হয়। প্রাপকের কাছে পৌঁছানোর পরে, বার্তাটি আবার রূপান্তরিত হয় (ডিকোড করা হয়), এবং প্রাপক আসল স্ট্রিংটি দেখতে পারে। এই ক্রিয়াগুলি উপস্থাপনা স্তরে সঞ্চালিত হয়।
-
অ্যাপ্লিকেশন স্তর আমাদের জন্য সবচেয়ে আকর্ষণীয় স্তর. এটি অ্যাপ্লিকেশনগুলিকে নেটওয়ার্কের সাথে যোগাযোগ করার অনুমতি দেয়। এই স্তরে, আমরা বার্তা গ্রহণ করি এবং প্রেরণ করি এবং পরিষেবা এবং দূরবর্তী ডেটাবেসে অনুরোধ করি।
এই স্তরে ব্যবহৃত অনেক প্রোটোকল রয়েছে: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET এবং অবশ্যই, HTTP/HTTPS। একটি প্রোটোকল হল একটি সর্বজনীন চুক্তি যা আমরা যোগাযোগ করার সময় মেনে চলি। আমরা অবশ্যই HTTP/HTTPS এর একটি পৃথক বিস্তারিত আলোচনা প্রদান করব।

- IP ঠিকানা — নেটওয়ার্কে ব্যবহারকারীর ঠিকানা
- পোর্ট - একটি নির্দিষ্ট ব্যবহারকারীর অ্যাপ্লিকেশনের ঠিকানা
- সেশন - একটি সত্তা যা দুই ব্যবহারকারীর মধ্যে যোগাযোগের পুরো সময় জুড়ে বিদ্যমান থাকে
- অ্যাপ্লিকেশন প্রোটোকল (HTTP/HTTPS) — এইগুলি হল নিয়ম যা আমরা বার্তা রচনা এবং পাঠানোর সময় অনুসরণ করব৷
DNS (ডোমেইন নেম সিস্টেম)
আমরা ইতিমধ্যে শিখেছি, প্রতিটি নেটওয়ার্ক ব্যবহারকারীর একটি অনন্য ঠিকানা আছে। যদি আমরা অ্যাপ্লিকেশন সম্পর্কে কথা বলি, তাহলে এর অনন্য ঠিকানা হবে IPv4-address:port । আপনি যদি এই ঠিকানাটি জানেন তবে আপনি সরাসরি অ্যাপ্লিকেশনটি অ্যাক্সেস করতে পারেন। কল্পনা করুন যে আমরা একটি ওয়েব অ্যাপ্লিকেশন লিখেছি যা রিয়েল টাইমে সমস্ত দেশে গড় বায়ু তাপমাত্রা প্রদর্শন করে। আমরা পোর্ট 8080-এ 226.69.237.119 ঠিকানা সহ একটি সার্ভারে এটি স্থাপন করেছি। আমাদের কাছ থেকে তথ্য পেতে সক্ষম হওয়ার জন্য, ব্যবহারকারীকে অবশ্যই ব্রাউজারে 5টি নম্বর লিখতে হবে: 226.69.237.119:8080৷ লোকেরা সংখ্যার সেট মুখস্ত করতে পছন্দ করে না: আমাদের মধ্যে অনেকেই দুটির বেশি ফোন নম্বর মনে রাখতে পারি না। এজন্য ডোমেইন নেম সিস্টেমআবিষ্কৃত হয়. আমরা আমাদের ঠিকানার জন্য একটি "উনাম" তৈরি করতে পারি, উদাহরণস্বরূপ, world-temperature.com। পাঁচটি মনে রাখা কঠিন নম্বর সমন্বিত একটি ঠিকানা ব্যবহার করে আমাদের সন্ধান করার পরিবর্তে, ব্যবহারকারী ব্রাউজারের ঠিকানা বারে আমাদের ডোমেন নাম লিখতে পারেন। এমন DNS সার্ভার আছে যেগুলো প্রকৃত ঠিকানায় ডোমেন নাম ম্যাপ করে। উদাহরণস্বরূপ, যখন একজন ব্যবহারকারী একটি ব্রাউজারে codegym.cc প্রবেশ করেন, তখন তার অনুরোধ একটি DNS সার্ভারে পাঠানো হয়, যা এটিকে প্রকৃত ঠিকানায় রূপান্তর করে।
GO TO FULL VERSION