Technology

ওয়েব সার্ভার কি? সার্ভার মানেই কি দৈত্যাকার সাইজের কম্পিউটার?

ওয়েব সার্ভার কীভাবে কাজ করে?

এই পেজটি আপনার ব্রাউজারে কীভাবে লোড হলো, এই ব্যাপারে ভেবে কখনো কি চমৎকৃত হয়েছেন? হতে পারে বর্তমানে আপনি কম্পিউটারের সামনে বসে রয়েছেন, আর এই আর্টিকেলটি পড়ছেন, এই পেজটি আপনার ব্রাউজারের সামনে খুলে রয়েছে, হতে পারে আরো লিঙ্কে ক্লিক করলেন আর সেই পেজটি আপনার সামনে চলে আসলো। কিন্তু এই কাজ গুলো সম্পূর্ণ হতে এর পেছনের দৃশ্য গুলো সম্পর্কে জানেন কি? এই সকল বিষয় গুলো একটি টার্মের সাথে জড়িত, যার নাম— ওয়েব সার্ভার। যখন মানুষ সার্ভারের কথা শোনে, প্রায়ই মনে করে, এটি একটি ফিজিক্যাল দৈত্যাকার কম্পিউটার যা ঠাণ্ডা ঘরে রাখা হয়, দেখতে অনেকটা সুপার কম্পিউটারের মতো। সত্যিই কি তাই? তো ওয়েব সার্ভার কি? চলুন আজ সবকিছু এক্সপ্লোর করা যাক…

এই আর্টিকেলের বিষয়বস্তু সমূহ

ওয়েব সার্ভার কি?

ওয়েব সার্ভারইন্টারনেট থেকে সকল পেজ গুলো আপনার কম্পিউটার ব্রাউজার পর্যন্ত পৌঁছে দেওয়ার কাজ সাধারনত সার্ভার সম্পূর্ণ করে থাকে। তো আসলে কি এই “ওয়েব সার্ভার”? সত্যি বলতে “সার্ভার” মানে কোন দৈত্যাকার কম্পিউটার মালা নয়, এমনকি একটি সিঙ্গেল কম্পিউটারও নয়। তাহলে কি? “সার্ভার” মূলত একটি সফটওয়্যার প্রোগ্রাম যেটি এইচটিটিপি (http) প্রোটকলের উপর কাজ করে ওয়েব পেজ গুলোকে অনুরোধকারী ইউজারদের পর্যন্ত পৌছিয়ে দেয়। এটি অপারেট করতে কোন বিশাল কম্পিউটিং সিস্টেমের প্রয়োজন পড়ে না, একটি সাধারন ইউএসবি ড্রাইভেই (পেনড্রাইভ) এক্সএএমপিপি (XAMPP) সার্ভার সফটওয়্যার রেখে রান করানো সম্ভব।

যে কম্পিউটার গুলো ওয়েবসাইট হোস্ট করার কাজে ব্যবহৃত হয়, সেগুলতে অবশ্যই সার্ভার প্রোগ্রাম ইন্সটল থাকার প্রয়োজনীয়তা রয়েছে। তবে হ্যাঁ, যারা আপনাকে ওয়েবসাইট হোস্টিং সার্ভিস প্রদান করে থাকে তাদের কাছে অনেক ডেডিকেটেড কম্পিউটিং ব্যবস্থা থাকে। তাদের বিশাল কম্পিউটার গুলোতে সার্ভার অ্যাপ্লিকেশন যেমন- অ্যাপাচি (Apache), আইআইএস (IIS), বা এঞ্জিনএক্স (NGINX) ইন্সটল থাকে। অথবা সার্ভার বিল্ড ইন অপারেটিং সিস্টেম যেমন উইন্ডোজের আইআইএস (ইন্টারনেট ইনফরমেশন সার্ভার), বা উবুন্টু লিনাক্স ব্যবহার করেও সার্ভার সেবা প্রদান করা সম্ভব।

এতো হলো প্রফেশনাল সার্ভারের কথা, কিন্তু টার্ম অনুসারে আপনার কম্পিউটারকেও আপনি সার্ভার হিসেবে ব্যবহার করতে পারেন। আপনার কম্পিউটারটি বর্তমানে উইন্ডোজ অপারেটিং সিস্টেমের উপর চললে কন্ট্রোল প্যানেলে “প্রোগ্রামস অ্যান্ড ফিচারস” অপশন থেকে আইআইএস সার্ভিসটি চালু করে আপনার পিসিকেই লোকাল সার্ভার বা লোকাল হোস্ট বানাতে পারবেন। একবার আইআইএস এনাবল করে নেওয়ার পরে, “c:\inetpub\wwwroot” ডিরেক্টরিতে যে কোন এইচটিএমএল ফাইল প্রবেশ করিয়ে তাকে সার্ভারে রান করাতে পারবেন। আবার আপনি চাইলে এক্সএএমপিপি নামক ছোট্ট এক প্রোগ্রাম কম্পিউটারে ইন্সটল করে পিএইচপি স্ক্রিপ্ট রান করাতে পারবেন। অনেকে এই সফটওয়্যার ব্যবহার করে নিজের পিসিতেই “ওয়ার্ডপ্রেস”, “জুমলা” ইত্যাদি পিএইচপি স্ক্রিপ্ট চালিয়ে থাকেন। আপনার পিসিকে সার্ভার বানানোর পরে যেকোনো ওয়েব ব্রাউজার ব্যবহার করে আপনার লোকাল হোস্ট করা পেজ গুলো দেখতে পারেন, আবার আপনার পিসির সাথে সম্পর্ক যুক্ত একই নেটওয়ার্কে থাকা যেকোনো কম্পিউটার বা স্মার্টফোন দিয়ে আপনার সার্ভার অ্যাক্সেস করা যাবে।

তো আপনি এতক্ষণে নিশ্চয় জেনে গেছেন “ওয়েব সার্ভার” টার্মটির আসল ব্যাখ্যা কি। সার্ভার একটি কম্পিউটার থেকে আরেকটি কম্পিউটারে ওয়েব পেজ সার্ভ করতে সাহায্য করে; এটি বেসিক টার্ম। কিন্তু এই টার্মটি সম্পূর্ণ করতে অনেক গুলো প্রসেস সম্পূর্ণ করতে হয়, আর্টিকেলের বাকী অংশে এই বিষয় গুলো নিয়েই আলোচনা করবো।

ওয়েব সার্ভার কীভাবে কাজ করে?

ওয়েব সার্ভার কীভাবে কাজ করেমনেকরুন আপনি কম্পিউটার পর্দার সামনে বসে রয়েছেন, ওয়্যারবিডি ভিজিট করলেন আর দেখলেন অসাধারণ সব নতুন টেক আর্টিকেল পাবলিশ হয়েছে। আপনার বন্ধুকে এই ব্যাপারে জানালেন আর তাকে “https://wirebd.com/ওয়েব-সার্ভার/” লিঙ্কটি সেন্ড করে বললেন, “দেখ, চরম একটি আর্টিকেল”। আপনার বন্ধু তার ব্রাউজারে লিঙ্কটি প্রবেশ করিয়ে গো করলো আর সরাসরি এই ওয়েবসাইটে প্রবেশ করে ফেলল। ওয়েব ব্রাউজার ওয়েব সার্ভারকে অনুরোধ করলো পেজটির জন্য, আর পেজটি সামনে চলে আসলো ব্যাস! কিন্তু এর পেছনে কি ঘটলো?

যখন আপনি ওয়েব ব্রাউজারে কোন লিঙ্ক প্রবেশ করান সেই সাইটটি ভিজিট করার জন্য; ব্রাউজার সেই লিঙ্কটিকে তিন ভাগে বিভক্ত করে। প্রথমে এটি প্রোটকলের (http) দিকে নজর রাখে তারপরে সার্ভার নেম (https://wirebd.com) খোঁজার চেষ্টা করে এবং সার্ভার নেম পেয়ে গেলে রিকোয়েস্টেড পেজ খোঁজার চেষ্টা করে (“/ওয়েব-সার্ভার/”)। প্রথমত ব্রাউজার নেম সার্ভারের কাছে সেই সার্ভারটির আইপি অ্যাড্রেস জানার চেষ্টা করে, আইপি অ্যাড্রেস পেয়ে গেলে সেই সার্ভার মেশিনটির সাথে আপনার ওয়েব ব্রাউজারটি সম্পর্ক স্থাপন করার চেষ্টা করে এবং পোর্ট ৮০তে কানেক্ট করে। একটি আইপি অ্যাড্রেসের সাথে অনেক গুলো পোর্ট থাকে এবং বিভিন্ন পোর্ট বিভিন্ন কাজের জন্য ব্যবহৃত হয়। যেমন ধরুন আপনি সার্ভারের কাছে কোন পেজ বা ফাইল রিকোয়েস্ট করলেন এইচটিটিপি প্রোটকলের মাধ্যমে, তবে আপনার ব্রাউজার পোর্ট ৮০তে কানেক্ট করবে। আবার আপনি যদি এফটিপি প্রোটোকলে কোন ফাইল আপলোড বা ম্যানেজ করতে চান, তবে সেটি পোর্ট ২১ এর সাথে কানেক্ট করবে। তো পোর্টকে অনেকটা দরজাও মনে করতে পারেন। যেমন আমরা বাড়ির বাইরে যাওয়ার জন্য বাইরের দরজা ব্যবহার করি এবং ছাঁদে যাওয়ার জন্য সিঁড়ি ব্যবহার করি। ঠিক তেমনই বিভিন্ন কাজে বিভিন্ন পোর্ট থাকে।

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

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

ক্লায়েন্ট এবং সার্ভার

সাধারনত ইন্টারনেটে যতোগুলো মেশিন রয়েছে এদের দুই ভাগে বিভক্ত করা যায়; ক্লায়েন্ট এবং সার্ভার। যে মেশিন গুলো কোন প্রকারের সার্ভিস প্রদান করে থাকে (যেমন- ওয়েব সার্ভার সার্ভিস বা এফটিপি সার্ভার সার্ভিস) সেগুলোকে সার্ভার বলা হয়। আর যে মেশিন গুলো সার্ভারের সাথে কানেক্ট হয়ে সেখান থেকে তথ্যের চাহিদা করে সেগুলোকে ক্লায়েন্ট বলা হয়।

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

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

ইন্টারনেটে ওয়েবসাইট

আপনার লোকাল হোস্ট বা আপনার কম্পিউটারে হোস্ট করা ওয়েবসাইট কিন্তু ইন্টারনেট থেকে অ্যাক্সেসেবল নয়। কিন্তু সার্ভার কেনার পরে সেখানে হোস্ট করা ওয়েব সাইট গুলো কীভাবে ইন্টারনেটে অ্যাক্সেসেবল হয়? এই প্রশ্নের উত্তর জানার জন্য ইন্টারনেট কীভাবে কাজ করে সেটা জানা প্রয়োজনীয়।

ইন্টারনেট মূলত এমন একটি নেটওয়ার্ক ব্যবস্থা যেখানে বিশ্বের কোটিকোটি কম্পিউটার গুলো একই তারে বাঁধা। আর এই নেটওয়ার্ক প্রত্যেকটি কম্পিউটারকে একে অপরের সাথে সম্পর্ক স্থাপন করার সুযোগ করে দেয়। আপনার বাড়ির কম্পিউটারটি হয়তো ল্যান্ড লাইন কপার ক্যাবল বা ডিএসএল বা মোবাইল ব্রডব্যান্ডের সাথে সম্পর্ক যুক্ত। এই লাইন আপনাকে প্রদান করছে কোন লোকাল ইন্টারনেট সার্ভিস প্রভাইডার (আইএসপি)। এই লোকাল ইন্টারনেট সার্ভিস প্রভাইডার গুলো আবার সরাসরি কোন অফিস বা সার্ভার কোম্পানির লোকাল এরিয়া নেটওয়ার্কের সাথে সম্পর্ক যুক্ত। লোকাল আইএসপি গুলো দেশের প্রধান বা এলাকার প্রধান আইএসপির সাথে সম্পর্ক যুক্ত থাকে। দেশের প্রধান আইএসপি গুলো আবার ফাইবার অপটিক ক্যাবলের মাধ্যমে বিদেশের বড় বড় আইএসপির সাথে কানেক্টেড থাকে আর এভাবেই গোটা পৃথিবীর কম্পিউটার গুলো একই লাইনে যুক্ত হয়ে সম্পূর্ণ ইন্টারনেট তৈরি করে।

এখন আগেই বলেছি ইন্টারনেটে দুই ধরনের কম্পিউটার রয়েছে। ক্লায়েন্ট কম্পিউটার গুলো শুধু রিকোয়েস্ট করে ওয়েব সার্ভার থেকে পেজ গ্রহন করে কিন্তু এটি নিজে কোন রিকোয়েস্ট গ্রহন করে না। আপনার কম্পিউটারটিতে লোকাল সাইট হোস্ট থাকার পরেও ইন্টারনেট থেকে কানেক্ট না হওয়ার কারণ হচ্ছে আপনার আইএসপি। আপনার আইএইপি শুধু আউট গোয়িং ট্র্যাফিক সমর্থন করে এবং ইঙ্কামিং ট্র্যাফিক সমর্থন করে না, ফলে আপনার ওয়েব সাইট ইন্টারনেট থেকে অ্যাক্সেসেবল হয় না। তবে আপনার আইএসপি যদি ইঙ্কামিং ট্র্যাফিক গ্রহন করে এবং পোর্ট ৮০ যদি খোলা থাকে তবে আপনার লোকাল হোস্ট করা সাইট যেকোনো স্থান থেকে ইন্টারনেটে অ্যাক্সেস হবে। তবে পার্সোনাল কম্পিউটারের জন্য আমি এরকমটা রেকমেন্ড করিনা, এতে ফায়ারওয়াল সেটআপ সহ আরো নিরাপত্তা ব্যবস্থার প্রয়োজন হয়।

শেষ কথা

তো আপনি কি কখনো নিজের ওয়েব সার্ভার তৈরির পরিকল্পনা করেছেন, অথবা আপনার প্রথম ওয়েবসাইটটি কি কোথাও হোস্ট করেছেন? এই আর্টিকেল থেকে আপনি কতটা উপকৃত হয়েছেন? এসব কিছুর উপর আপনার মতামত এবং এক্সপেরিএন্স আমাদের সাথে নিচে কমেন্ট করে শেয়ার করুন।

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button