What is the server? How does it work?

What is the server? How does it work?

Server হল একটি কম্পিউটার প্রোগ্রাম Hardware বা software ডিভাইস যা কম্পিউটার নেটওয়ার্কের মাধ্যমে সেবা প্রদান করে।

✔️ সার্ভার কি?

সোজা এবং সহজ ভাবে বললে একটি সার্ভার (server) হলো এমন একটি কম্পিউটার (computer) যে অন্যান্য কম্পিউটার গুলোতে ডাটা (data) এবং তথ্য (information) সরবরাহ করে থাকে।

সার্ভার মানে আবার এরকম করেও বলা যেতে পারে যে,Server হলো একটি software বা Hardware device যেখানে নেটওয়ার্ক এর মাধ্যমে অন্যান্য computer বা programs গুলোর দ্বারা বিভিন্ন ধরণের অনুরোধ (request) পাঠানো হয় যেখানে সার্ভার প্রত্যেক জরুরি অনুরোধ (request) গুলোকে গ্রহণ করে এবং প্রতিক্রিয়া (response) করে।যেই device / computer গুলো server কে অনুরোধ (request) করে থাকে এবং পরে সার্ভার থেকে প্রতিক্রিয়া (response) গ্রহণ করে তাদের “clients” বলা হয়।সার্ভার এর কাজ হলো এর client device / computer গুলোকে সেবা প্রদান করা।

20211106_082518.webp

উদাহরণ স্বরূপে,

একটি ওয়েব সার্ভার Apache HTTP Server বা Microsoft IIS এর মতো program গুলো চলাতে পারে যেগুলো ইন্টারনেটের মাধ্যমে বিভিন্ন websites গুলো access করতে সাহায্য করে।

বা, একটি মেইল সার্ভার Exim বা iMail এর মতো programs গুলোকে চলাতে পারে যেগুলো ইমেইল গ্রহণ করা এবং পাঠানোর জন্য SMTP সেবার প্রদান করে থাকে।

বা, Network এর ওপরে File sharing এর ক্ষেত্রে একটি ফাইল সার্ভার, Samba বা operating system এর built-in file sharing system এর ব্যবহার করতে পারে।

✔️ Server কিভাবে কাজ করে ?

উপরের আলোচনা থেকে আপনি সার্ভার রিলেটেড অনেক অজানা বিষয়ে জানতে পেরেছেন। যেমন, সার্ভার কি এবং সার্ভার এর কাজ কি।

এখন আপনাকে জানতে হবে যে, Server আসলে কিভাবে কাজ করে। কেননা, অন্যান্য বিষয়ের মতো সার্ভারের কাজ সম্পর্কে বিস্তারিত জেনে নেয়াটাও ভীষন গুরুত্বপূর্ণ।

চলুন এবার তাহলে জেনে নেয়া যাক, সার্ভার কিভাবে কাজ করে।

সার্ভার কী ভাবে কাজ করে এইটি বোঝার জন্য আপনাকে প্রথমে "Client-Server model" সম্বন্ধে জানতে হবে। তো চলুন জানা যাক Client-Server model আসলে কি।

✔️ ক্লায়েন্ট সার্ভার মডেল (Client-server model)

Client-server model সম্বন্ধে জানতে হলে আমাদেরকে প্রথমে ভালো ভাবে বুঝতে হবে CLIENT আর SERVER আসলে কি।

১. Client: client হল এমন একটি কম্পিউটার যে তথ্য বা কোনো নির্দিষ্ট সার্ভিস গ্রহণ করতে সক্ষম। এই মডেলে client মেশিন সাধারণত সার্ভার এর কাছে ডাটা রিকুয়েস্ট করে এবং সার্ভার এর রিপ্লাই স্বরূপ ডাটা রিসিভ করে।

২. Server: সার্ভার হল client থেকে দূরে অবস্থিত একটি কম্পিউটার যা client এর পাঠানো রিকুয়েস্ট এর রিপ্লাই এ তথ্য সরবরাহ করে।

main-qimg-38542e4dce2d5adcafd2bf3785b107dc-lq.jfif

Image: Client-Server model.

এতক্ষণ পর্যন্ত আমরা বুঝলাম যে, client ডাটা অ্যাকসেপ্ট করে এবং, সার্ভার তার ডাটাবেস এ উপস্থিত সেই ডাটা কে সরবরাহ করে।

Client কে সার্ভার এর সাথে সংযোগ স্থাপন করার জন্য নির্দিষ্ট কিছু মাধ্যম এর প্রয়োজন। বর্তমান সময়ে একটি বহুল প্রচলিত মাধ্যম হল ইন্টারনেট। Client এবং সার্ভার উভয়ই ইন্টারনেট এর সাথে যুক্ত থাকে এবং ইন্টারনেট এর মাধ্যমে নিজেদের মধ্যে তথ্য আদানপ্রদান করে। আমরা আমাদের মোবাইল বা কম্পিউটারে এর মাধ্যমে সরাসরি ইন্টারনেট অ্যাকসেস করতে পারিনা অর্থাৎ আমরা সরাসরি সার্ভার এর সাথে যোগাযোগ স্থাপন করতে পারবোনা। এই কাজটি করার জন্য আমাদের ইন্টারনেট ব্রাউজার(Internet Browser) এর প্রয়োজন। কতগুলি বহুল প্রচলিত ব্রাউজার যেমন Google Chrome, Internet explorer, Mozilla Firefox, Opera.

আমরা জানতে পারলাম যে আমরা যদি সার্ভার কে অ্যাকসেস করতে চাই তাহলে আমাদেরকে ব্রাউজারের সাহায্য নিতে হবে। এরপর আমরা জানবো ব্রাউজার কিভাবে সার্ভার এর থেকে ডাটা আদানপ্রদান করে:

ব্রাউজার এবং সার্ভার এর সংযোগ এর পদ্ধতি:

main-qimg-ae0a7e88dba4a5aedd99d46e98e55728-lq.jfif

Image: interaction between browser and server

  • ১. প্রথমে ব্রাউজার এর মধ্যে আমরা ওয়েবসাইট বা নির্দিষ্ট কোনো ফাইল এর URL(Uniform Resource Locator) এন্টার করি। এরপর ব্রাউজার DNS(Domain Name System) সার্ভারে রিকুয়েস্ট করে।

  • ২.DNS সার্ভার এরপর WEB সার্ভার এর অ্যাড্রেস খোঁজে।

  • ৩. এরপর DNS সার্ভার ব্রাউজার কে WEB সার্ভার এর IP address সেন্ড করে।

  • ৪. ব্রাউজার, DNS সার্ভার এর কাছে থেকে পাওয়া WEB সার্ভার এ একটি HTTP/HTTPS রিকুয়েস্ট পাঠাই।

  • ৫. ব্রাউজার এর রিকুয়েস্ট এর রিপ্লাই হিসাবে WEB সার্ভার প্রয়োজনীয় সমস্ত ফাইল সেন্ড করে।

  • ৬. ব্রাউজার ওই সমস্ত তথ্য গুলোকে রেন্ডার(render) করে আপনার মোবাইল বা মনিটরে ডিসপ্লে করে। এই রেন্ডারিং প্রসেসে ব্রাউজার এর মধ্যে থাকা DOM(Document Object Model) interpreter, CSS interpreter, JIT(Just in Time) compiler সাহায্য করে।

**Images are collected from Google.

✔️ সার্ভার কাকে বলে ?

মনে করুন, আপনি কোনো কিছু জানার জন্য youtube এর ভিডিও দেখছেন। কিংবা কোনো তথ্য সম্পর্কে জানার জন্য গুগলের বিভিন্ন ওয়েবসাইটে প্রবেশ করছেন।

কিন্তুু আপনি যে ইউটিউবে প্রবেশ করা মাত্রই ভিডিও দেখতে পাচ্ছেন। কিংবা গুগলে কোনো কিছু লিখে সার্চ করার পর বিভিন্ন ওয়েবপেজ থেকে তথ্য জানতে পারছেন।

মূলত এই সকল ডাটা গুলো কোনো কোনো স্থানে স্টোর করে রাখা আছে বলেই আপনি Video বা Web page এ সেগুলো দেখতে পাচ্ছেন।

তো এই ধরনের ডাটা গুলো যেখানে জমা হয়ে থাকে তাকে বলা হয়ে থাকে সার্ভার (Server).

আশা করি সার্ভার কি তা নিয়ে আপনার মনে আর কোনো অজানা বিষয় নেই। এবার চলুন তাহলে জেনে নেয়া যাক, সার্ভার আসলে কিভাবে কাজ করে।

✔️ সার্ভার এর কাজ কি ?

বর্তমানে অনলাইন দুনিয়াতে আমরা সবাই কোনো না কোনো কাজে ব্যস্ত আছি। যেমন, আপনি গুগলে সার্ভার কি তা জানার জন্য সার্চ করেছেন।

ঠিক তেমনিভাবে আপনার মতো এমন লাখ লাখ মানুষ আছেন। যারা আপনার মতো কোনো তথ্য জানার জন্য গুগল বা ইউটিউবে থাকা ভিডিও গুলো দেখছে।

কিন্তুু কখনও কি আপনার মনে প্রশ্ন জেগেছে যে, এই তথ্য গুলো আমরা কিভাবে পাচ্ছি।

তো যদি আপনি জানতে চান যে, Server থেকে আমরা কিভাবে এই ডাটা গুলো পাচ্ছি। তাহলে সবার আগে আপনাকে সার্ভার এর কাজ সম্পর্কে ধারনা নিতে হবে।

সার্ভার.jpg

চলুন এবার তাহলে সার্ভার এর কাজ সম্পর্কে ধারনা নেয়া যাক।

সার্ভার হলো এমন এক ধরনের বিশেষ কম্পিউটার যা বিশেষ কিছু ডিভাইস বা হার্ডওয়্যার এর সমন্বয়ে তৈরি করা হয়ে থাকে।

এই Server এর মূল কাজ হলো বিভিন্ন কম্পিউটার থেকে ডাটা কালেক্ট করা। এবং সেই ডাটা গুলো কে নিজের কাছে স্টোর করে রাখা।

এর পাশাপাশি স্টোর করা এই Data গুলোকে সংরক্ষণ করে রাখা।

এবং সার্ভারে যেসব ডাটা স্টোর করে রাখা আছে। সেগুলো কে পরবর্তী সময়ে অন্যান্য কম্পিউটার বা ইলেকট্রনিক ডিভাইস থেকে আসা অনরোধ অনুযায়ী সেই ডাটা গুলো কে প্রদর্শন করা।

যার ফলে আমরা গুগলে কোনো কিছু জানার জন্য সার্চ করলে বিভিন্ন রকমের তথ্য জানতে পারি।

এবং ইউটিউবে কোনো ভিডিও দেখতে চাইলে আমরা পছন্দের Video গুলো দেখতে পারি।

✔️ সার্ভার এর প্রকার গুলো কি কি ?

পৃথিবীতে সবক্ষেত্রেই যেমন ভিন্নতা আছে ঠিক তেমনি ভাবে সার্ভারের ক্ষেত্রেও আপনি নানা রকম ভিন্নতা খুজে পাবেন।

কেননা, আপনি যদি সার্ভার এর প্রকার ভেদ গুলো জানতে চান। তবে আপনার সামনে এমন অনেক প্রকার এর সার্ভারের নাম চলে আসবে।

আর এবার আমি আপনাকে এই সব প্রকারের সার্ভার এর সাথে পরিচয় করিয়ে দিবো। তো চলুন এবার তাহলে জেনে নেয়া যাক, সার্ভার কত প্রকার এবং কি কি।

  • ফাইল সার্ভার (File server)
  • ডাটাবেস সার্ভার (Database server)
  • ওয়েব সার্ভার (Web Server)
  • Application server
  • Proxy server
  • Mail Server
  • FTP server

কিন্তুু আপনি যদি এই সার্ভারের প্রকারভেদ গুলো জেনেই চলে যান। তবে এই বিষয়ে আপনার জানার মাত্রা প্রায় অসম্পূর্ণ থেকে যাবে।

তাই চলুন এবার সকল প্রকারের Server সম্পর্কে একেবারে বিস্তারিত জেনে নেয়া যাক।

1. ✔️ ফাইল সার্ভার কি (File server)

যেসব সার্ভার কে শুধুমাত্র কোনো ডাটা, ফাইল জমা করার জন্য ব্যবহার করা হয়। তাকে বলা হয়, ফাইল সার্ভার। আর ইউজাররা মূলত ইন্টারনেট কানেকশন এর মাধ্যমে ফাইল সার্ভারে তাদের প্রয়োজনীয় Data গুলো কে জমা করে রাখতে পারে। তবে এই পদ্ধতিতে আপনার ডাটা সংরক্ষণ করার জন্য আলাদা করে কোনো Storage Device এর দরকার হয়না। কেননা, আপনি যে সার্ভারের সাথে যুক্ত থাকবেন।সেই সার্ভারে আপনার জন্য তখন আলাদা করে স্টোরেজ ডিভাইস এর ব্যবস্থা থাকবে।মূলত File Server হলো ইন্টারনেট এর সাথে কানেক্ট হওয়ার জন্য এমন এক ধরনের বিশেষ কম্পিউটার। যেখানে আপনার Shared Disk কে এক্সেস করার জন্য নতুন একটা লোকেশন দেওয়া থাকবে। আর এই লোকেশন কে কেন্দ্র করে আপনার কম্পিউটার থেকে শেয়ার করা অন্যান্য File গুলো কে এক্সেস করা যাবে।

2. ✔️ ডাটাবেস সার্ভার কি (Database server)

ডাটাবেস সার্ভারে থাকা সংরক্ষিত Data গুলো কে এক্সেস করার জন্য বিশেষ এক ধরনের Database Application কে ব্যবহার করা হয়। এই এপ্লিকেশন এর মূল কাজ হলো, আমাদের ডিভাইস থেকে পাঠানো ডাটা গুলোকে এক্সেস করা। এর পাশাপাশি সেগুলোকে কেন্দ্র করে পরবর্তী জড়িত সেবা প্রদান করা।আপনি যদি ডাটাবেস সার্ভার কে বিরাট একটা ওয়্যার হাউস এর সাথে তুলনা করেন। তাহলেও কোনো প্রকার ভুল হবেনা।কেননা, এই সার্ভার গুলো তে বিভিন্ন ধরনের বড় বা ছোট ওয়েবসাইট এর সকল Data এবং Information গুলো কে জমা করে রাখা হয়। এবং শুধুমাত্র এগুলো কে জমা করে রাখাই মূল উদ্দেশ্যে নয়। বরং সেই ইনফরমেশন গুলোকে মেইনটেইন করার কাজটিও Database Server করে থাকে।

3. ✔️ ওয়েব সার্ভার কি (Web Server)

সচারাচর HTTP কিংবা HTTPS নেটওয়ার্ক প্রোটোকল এর মাধ্যমে কাজ করতে পারে। এমন এটি সার্ভার এর নাম হলো Web Server. যার মূল কাজ হলো, বিভিন্ন ইউজার এর ওয়েবপেজ রিলেটেড ইনফরমেশন গুলোকে প্রসেস করা এবং ডেলিভারি করে দেয়া। হয়তবা বিষয়টি আপনার কাছে তেমন ক্লিয়ার নাও হতে পারে ৷ তাই এবার আরেকটু সহজ করে আলোচনা করবো।একটি Web Server হলো এমন এক ধরনের বিশেষ সার্ভার সফটওয়্যার বা হার্ডওয়্যার। যার মাধ্যমে নানা ধরনের ওয়েবসাইট গুলোকে Run করা হয়ে থাকে। আর আপনার হয়তবা জানা থাকবে যে, কোনো একটি ওয়েবসাইট কিন্তুু বিভিন্ন রকমের ডাটা থাকে। যেমন, Text, Image, Video ইত্যাদি।তো এইসবগুলো ডাটাকে প্রসেস করে ডেলিভারি দেয়ার কাজটি যে সার্ভার করে থাকে তাকে বলা হয়, ওয়েব সার্ভার। তবে মজার বিষয় হলো, আজকের দিনে পৃথিবীতে মোট যতগুলো ওয়েবসাইট আছে। সেই সবগুলো সাইটে থাকা ডাটা গুলো কোনো না কোনো ভাবে ওয়েব সার্ভারে স্টোর হয়ে থাকে।

4. ✔️ এপ্লিকেশন সার্ভার কি (Application server)

অন্যান্য সার্ভারের মতো আরো একটি বিশেষ ধরনের সার্ভার আছে। যেটি মূলত কোনো Application কে Run করার জন্য ব্যবহার করা হয়ে থাকে। আর সে কারনে এই ধরনের সার্ভার কে বলা হয়ে থাকে Application Server. তবে এটিকে আবার নেটওয়ার্ক কম্পিউটারও বলা হয়ে থাকে।এর মধ্যে মূলত নানা রকমের হার্ডওয়্যার এবং সফটওয়্যার কে সংযুক্ত করা হয়। যার দরুন সার্ভার রিলটেড যেসব প্রোগ্রাম রয়েছে । সেই Programme গুলোকে Run করার মতো উপযুক্ত পরিবেশ সৃষ্টি হয়। এর পাশাপাশি সার্ভার এর সাথে জড়িত ক্লায়েন্ট কম্পিউটার এর জন্য নানা রকমের এপ্লিকেশন কে install করা, Host করা এবং Operate করে Run করা হয়।

5. ✔️ প্রক্সি সার্ভার কি (Proxy server)

যদি আপনি Proxy Server কে শুধুমাত্র Proxy হিসেবে পরিচিত করেন। তাহলেও কোনো প্রকার ভুল হবেনা। কারন এই ধরনের সার্ভার গুলোর বিশেষ কিছু কাজ আছে। আর সেটি হলো, প্রক্সি সার্ভার মূলত মধ্যস্থকারী হিসেবে কাজ করে থাকে। কেননা, এই ধরনের সার্ভার গুলো ইউজার এবং ইন্টারনেট এর মধ্যে এক প্রকার Getway হিসেবে কাজ করে থাকে। যার ফলে User request এবং request এর মধ্যে মধ্যস্থকারী হিসেবে প্রক্সি সার্ভার কে ব্যবহার করা হয়ে থাকে।

6. ✔️ মেইল সার্ভার কি (Mail Server)

Mail Server সার্ভার কে অনেকেই আবার E-mail Server ও বলা হয়ে থাকে। এটি হলো এমন এক প্রকারের সার্ভার যার মূল কাজ হলো সার্ভার নেটওয়ার্কে যেসব মেইল আসবে ৷ সেই মেইল গুলোকে গ্রহন করা এবং সেগুলো কে পুনরায় ডেলিভারি করে দেয়া। আর সে কারনে এই ধরনের Mail Server কে আবার সংক্ষেপে MTA বলা হয়ে থাকে। যার পূর্নরুপ হলো, Mail Server Transfer Agent. আমরা যেভাবে প্রয়োজন এর সময় মেইল সেন্ড করি সেই মেইল গুলো কিন্তুু একটা নিয়ম মেনে সেন্ড হয়ে থাকে। কারন আমরা যখন কাউকে Mail করি সেগুলো কিন্তুু অনেক দ্রুত সেন্ড হয় ৷ তবে আপনি যদি একটু ভেতর থেকে চিন্তা করে দেখেন। তাহলে আপনি দেখতে পারবেন যে, এই মেইল গুলো অনেক জটিলতার পরেই সেন্ড হয়ে থাকে।

7. ✔️ এফটিপি সার্ভার কি (FTP server)

বর্তমান সময়ে কম্পিউটার ইউজার এর পরিমানটা অনেক গুন বেড়ে গেছে যার ফলে আজকের দিনে ইন্টারনেট এর মাধ্যমে প্রচুর পরিমান File একটি কম্পিউটার থেকে অন্য আরেকটি কম্পিউটারে ট্রান্সফার হয়ে থাকে।আর জানার বিষয় হলো, এই ধরনের ফাইল মূলত Protocol এর মাধ্যমে একটি কম্পিউটার থেকে অন্য কম্পিউটারে ট্রান্সফার হয়ে থাকে। কেননা, এই প্রোটোকল টি হলো এক ধরনের Standard Communicating Protocol. যার মাধ্যমে কম্পিউটার ফাইল গুলো কে Server থেকে ক্লায়েন্ট ডিভাইস এর মধ্যে ট্রান্সফার হয়।

8. ✔️ আইডেন্টিটি সার্ভার (Identity Server)

মূলত কোন তথ্য কোন সার্ভারে পৌঁছাবে তা স্থানান্তরের ক্ষেত্রে যে সার্ভার ব্যবহার করা হয় তা হল identity server

✔️ লোকাল সার্ভার কি ?

সহজ ভাষায় বললে, আমরা যেসব কম্পিউটার ব্যবহার করি সেগুলোর মধ্যে যদি কোনো Server যুক্ত করা থাকে।

তাহলে সেগুলোর প্রত্যেকটি এক একটি লোকাল সার্ভার। তবে এর সংঙ্গাটি কে একটু আলাদা ভাবেও প্রকাশ করা যেতে পারে।

যেমন, প্রতিটা Local Computer এর মধ্যে যেসব Server সংযুক্ত করা থাকে তাকেই বলা হয়, Local Server.

✔️ ক্লায়েন্ট সার্ভার কি?

যখন কোনো এক বা একের অধিক ডেডিকেটেড সার্ভার এর সমন্বয় করে নতুন কোনো নেটওয়ার্ক গঠন করা হয়।

এবং সেই ডেডিকেটেড সার্ভার দিয়ে Client PC এর জন্য প্রয়োজনীয় সার্ভিস প্রদান করে।

মূলত এদেরকে বলা হয়ে থাকে ক্লায়েন্ট সার্ভার। তো এই Client Server এর বেশ কিছু উদাহরন রয়েছে। যেমন, File, Print Message, Database, Application ইত্যাদি।

✔️ সার্ভার ডাউন মানে কি?

যখন কোনো অনাকাঙ্ক্ষিত কারনে সার্ভার সঠিকভাবে কাজ করতে পারেনা। কিংবা কাজ করলেও ওলট পালট কাজ করে।

সহজ ভাষায় তাকে বলা হয়ে থাকে সার্ভার ডাউন।

যার অর্থ হলো, সেই সার্ভারটি তে কোনো Bug বা Error আছে। যার কারনে সেটি আর পূর্বের মতো সঠিক ভাবে কাজ করতে পারছেনা।

আর যখন কোনো Server এমন অনাকাঙ্ক্ষিত ঘটনার সম্মুখীন হয়। তখন আমরা তাকে বলে থাকি, সার্ভার ডাউন (Server Down).

আজকের এই ছোট্ট আর্টিকেলে আমি সার্ভার কি এবং সার্ভার এর সাথে যেগুলো রিলেটেড বিষয় আছে। তার সবগুলো বিষয়ে আলোচনা করার চেস্টা করেছি। আশা করি এই আলোচিত বিষয় নিয়ে জানার পর সার্ভার কি এই প্রশ্নটি আপনার মনে আর দ্বিতীয়বার জাগবে না।

✍️Shahriar Abrar Himel

এরকম আরও ইনফরমেটিভ ব্লগ পেতে Stack Learner এর ব্লগ ওয়েবসাইটকে সাবস্ক্রাইব করে রাখুন। Stack Learner এর সাথে থাকার জন্য আপনাকে অসংখ্য ধন্যবাদ।

stacklearner.com