Web Server ဆိုသည်မှာ World Wide Web ပေါ်မှ client များ၏တောင်းဆိုမှုများကိုတုံ့ပြန်ရန် HTTP (Hypertext Transfer Protocol) နှင့် အခြား protocol များကိုသုံးသော software နှင့် hardware ဖြစ်သည်။
Web server ၏ အဓိကအလုပ်မှာ website အသုံးပြုသူများရဲ့ အချက်အလက်များအားသိုလှောင်ခြင်း၊ HTTP အပြင် web server များသည် အီးမေးလ်ပို့ခြင်းနှင့် သိုလှောင်ခြင်းအတွက်အသုံးပြုသည့် SMTP (Simple Mail Transfer Protocol) နှင့် ဖိုင်များ ပေးပို့ခြင်းအတွက် FTP (File Transfer Protocol) ကိုလည်း ထောက်ပံ့ပေးသည်။
Web server hardware သည် အင်တာနက်နှင့်ချိတ်ဆက်သည့်အပြင် အခြား device များနဲ့ အပြန်အလှန် သတင်းအချက်အလက်များဖလှယ်နိုင်ပြီး အသုံးပြုသူမှလက်ခံထားသောဖိုင်များကို ၀င်ရောက်ကြည့်ရှုခြင်းကိုမူ Web server software မှထိန်းချုပ်သည်။ Web server သည် client/server ဆက်သွယ်မှုပုံစံကို အသုံးပြုထားပါသည်။ Website များကို host လုပ်ထားသော ကွန်ပျူတာအားလုံးတွင် web server software ရှိသည်။
Web server များကို Web (သို့) Websites နှင့် Web application များတွင်အသုံးပြုသည်။
Web server software ကို website များ၏ domain names များမှတစ်ဆင့် ၀င်ရောက်ပြီး ထို website ၏ အချက်အလက်များကို အသုံးပြုသူထံသို့ ပေးပို့သည်။ Software ဘက်၌ အနည်းဆုံး HTTP server တစ်ခုပါသော component များစွာ ပါ၀င်သည်။ HTTP server သည် HTTP နှင့် URL များကိုနားလည်နိုင်သည်။ Hardware အနေနှင့်၊ web server ဆိုသည်မှာ web server software နှင့် website ရဲ့ဆက်စပ်တဲ့အခြားဖိုင်များဖြစ်သော HTML document များ၊ image များနှင့် JavaScript ဖိုင်များ သိမ်းဆည်းထားသောကွန်ပျူတာဖြစ်သည်။
Google၊ Chrome သို့မဟုတ် Firefox ကဲ့သို့သော Web browser တစ်ခုသည် web server တွင် သိမ်းဆည်းထားသောဖို င်များကိုလိုချင်လျှင် browser သည် ထိုဖိုင်အား HTTP ဖြင့်တောင်းဆိုလိမ့်မည်။ Web server သည်တောင်းဆိုမှုကိုလက်ခံသည့်အခါ HTTP server သည်လည်း ထိုတောင်းဆိုမှုကိုလက်ခံရရှိပါသည်။ လိုချင်သော ဖိုင်အချက်အလက်များကိုရှာဖွေပြီး HTTP မှတစ်ဆင့် browser သို့ပြန်ပို့ပါလိမ့်မည်။
ပိုပြီးတိကျစွာပြောရလျှင် browser သည် web server တစ်ခုမှ page တစ်ခုကိုတောင်းဆိုတဲ့အခါမှာ အောက်ပါ လုပ်ငန်းစဉ်အဆင့်များအတိုင်းသွားပါမည်။ ပထမ ဦးစွာလူတစ်ဦးသည် web browser ၏ address bar ပေါ်တွင် URL တစ်ခုကို ရိုက်ထည့်ရလိမ့်မည်။ ထို့နောက် web browser သည် domain name ၏ IP address ကိုရရှိလိမ့်မည်။ — URL ကို DNS (Domain Name System) မှတဆင့် IP Address အဖြစ်ပြောင်းလဲခြင်း (သို့) cache ထဲတွင်ရှာဖွေခြင်းကို ပြုလုပ်သည်။ ၎င်းသည် browser ကို web server ရှိရာသို့ပို့ဆောင်ပေးလိမ့်မည်။
ထို့နောက် HTTP တောင်းဆိုမှုဖြင့် browser သည် web server သို့တိကျသောဖိုင်ကိုတောင်းလိမ့်မည်။ Web server သည် HTTP မှတစ်ဆင့် browser တေ ာင်းဆိုထားသောစာမျက်နှာကို ပြန်ပို့လိမ့်မည်။ တောင်းဆိုထားသောစာမျက်နှာမရှိပါက (သို့မဟုတ်) တစ်ခုခုမှားယွင်းနေပါက web server သည်အမှားသတင်းတစ်ခုနှင့်တုံ့ပြန်လိမ့်မည်။ ထို့နောက် browser သည် webpage ကိုဖော်ပြပေးလိမ့်မည်။
Web server များကို အသုံးပြုတဲ့နေရာ Web server များကို များသောအားဖြင့် အောက်ပါနေရာများတွင်အသုံးပြုသည်။
အခြေခံအားဖြင့် web server များစွာသည် server-side scripting ကိုပံ့ပိုးထားသည်။ Web Server သည် client အားတုံ့ပြန်မှု စိတ်ကြိုက်ပြုလုပ်နိုင်ရန် scripts များကိုအသုံးပြုသည်။ Server-side scripting သည် server စက်ပေါ်တွင်အလုပ်လုပ်ပြီး ပုံမှန်အားဖ ြင့် database access ပါဝင်သည့် ကျယ်ပြန့်သော feature များ အပြည့်အစုံရှိပါသည်။ Server-side scripting တွင် Nodejs, Python, Active Server Pages (ASP), Hypertext Preprocessor (PHP) နှင့်အခြား scripting languages များပါဝင်သည်။
Web Server တစ်ခုကို Static သို့မဟုတ် Dynamic အဖြစ် အသုံးပြုနိုင်သည်။ Static ဆိုသည်မှာ webpage တစ်ခုကို ပြုပြင်ပြောင်းလဲခြင်းမရှိဘဲ နဂိုရေးထားတဲ့အတိုင်း ပြသခြင်းကို ဆိုလိုသည်။ Dynamic မှာမူ webpage ရဲ့ content များအား အချိန်မရွေးပြုပြင်ပြောင်းလဲ (update) လို့ရသည်။ Static web server တွင် ကွန်ပျူတာနှင့် HTTP software တို့ပါဝင်သည်။ Sever သည် webpage နှင့် အခြားလိုအပ်သောဖိုင်များကို browser သို့ နဂိုရှိထားနင့်သည့်အတိုင်း ပေးပို့သောကြောင့် ၎င်းကို static ဟုသတ်မှတ်သည်။
Dynamic web browser များတွင် web server, application server နှင့် database ကဲ့သို့သော software များပါဝင်သည်။ ၎င်းကို dynamic ဟုသတ်မှတ်သည်။ အဘယ်ကြောင့်ဆိုသော် application server သည် မည်သည့် hosted files ကိုမဆို browser သို့မပို့မီ update လုပ်နိုင်သောကြောင့်ဖြစ်သည်။ Web Server သည် လိုအပ်သည့် အချက်အလက်များကို Database သို့ တောင်းဆိုပြီး ထိုအချက်အလက်များကို webpage ၏ content များနဲ့ပေါင်းစပ်ခြင်းအားဖြင့် webpage အား အချိန်မရွေးပြုပြင်ပြောင်းလဲမှု ဖြစ်စေနိုင်ပါသည်။ ဤလုပ်ငန်းစဉ်သည် ပိုမိုပြောင်းလဲလွယ်သော်လည်း ပိုမိုရှုပ်ထွေးသည်။
Web server တစ်ခုကိုရွေးချယ်ရာတွင် ထည့်သွင်းစဉ်းစားရမည့်အချက်များမှာ operating system၊ အခြားဆာဗာများနှင့်အတူ မည်မျှအလုပ်လုပ်နိုင်သည်ပင်ဖြစ်ပြီး Server-side programming ကို ကိုင်တွယ်နိုင်တဲ့စွမ်းရည်၊ လုံခြုံရေး၊ ရှာဖွေရေးယန္တရားနှင့် ၎င်းနှင့်အတူပါ၀င်သည့် site-building ဆိုင်ရာကိရိယာများ လည်းပါဝင်သည်။
Web server များတွင် လည်းကွဲပြားသော configurations များနှင့် default တန်ဖိုးများရှိနိုင်သည်။ Web Server တစ်ခု စွမ်းဆောင်ရည်မြင့်မားစေရန် သူ၏ လုပ်ကိုင်နိုင်စွမ်းမြင့်မားမှု နှင့် အချိန်ကြန့်ကြာမှုမရှိခြင်း တို့သည် အဓိကလိုအပ်သည့် အချက်များဖြစ်သည်။
ကိုယ်ပိုင် web server ကိုအသုံးပြုခြင်းအားဖြင့် လုံခြုံရေးဆိုင်းရာအတွေ့အကြုံများ ရရှိနိုင်သည့်အပြင် အခြေခံလုံခြုံရေးများကိုလဲ သိရှိစေနိုင်ပါသည်။ အခြေခံလုံခြုံမှုကို အောက်ပါအတိုင်း လက်တွေ့လုပ်ဆောင်နိုင်ပါသည်။