Sa computer science, ang isang server ay gumaganap ng isang mahalagang papel sa arkitektura ng network, pinapadali ang data, mapagkukunan, at mga serbisyo sa iba pang mga computer, na kilala bilang mga kliyente, sa isang network. Tinutuklasan ng araling ito ang mga pangunahing kaalaman ng mga server, ang kanilang mga uri, kung paano sila gumagana, at ang kanilang mga aplikasyon sa iba't ibang larangan.
Ang server ay isang computer system o software na nagbibigay ng functionality para sa iba pang mga program o device, na kilala bilang mga kliyente. Ito ay maaaring mula sa paghahatid ng email o mga web page hanggang sa pagho-host ng mga database at file. Ang modelo ng server-client ay isang pangunahing konsepto sa networking na nag-iiba sa pagitan ng mga service provider (server) at mga humihiling ng serbisyo (client).
1. Mga Web Server: Mag-host ng mga website, na nagbibigay-daan sa pag-access sa mga web page sa Internet.
2. Mga Email Server: Padaliin ang pagpapadala at pagtanggap ng mga email.
3. Mga Server ng Database: Magbigay ng mga serbisyo ng database sa ibang mga computer.
4. Mga File Server: Mag-imbak at pamahalaan ang access sa mga file.
5. Mga Print Server: Pamahalaan ang mga printer at mga trabaho sa pag-print.
Ang bawat uri ng server ay may partikular na papel sa arkitektura ng network, na nag-aambag sa mahusay na pamamahagi ng mga mapagkukunan at serbisyo.
Maaaring gumana ang mga server sa parehong antas ng hardware at software. Ang mga server ng hardware ay mga pisikal na makina na na-optimize para sa mataas na pagganap at pagiging maaasahan. Ang mga server ng software, sa kabilang banda, ay mga application na tumatakbo sa isang computer na nagbibigay ng mga functionality ng server.
Ang arkitektura ng isang server ay natutukoy sa pamamagitan ng nilalayon nitong function, mga kinakailangan sa scalability, at ang inaasahang workload. Maaari itong maging:
Ang mga server ay nakikipag-usap sa mga kliyente gamit ang mga protocol, na mga hanay ng mga panuntunan na nagdidikta kung paano inililipat ang data sa isang network. Kabilang sa mga pinakakaraniwang protocol ang HTTP (Hypertext Transfer Protocol) para sa mga web server, SMTP (Simple Mail Transfer Protocol) para sa mga email server, at FTP (File Transfer Protocol) para sa mga file server.
Kapag ang isang kliyente ay humiling ng isang serbisyo, tulad ng isang web page, ang kahilingan ay ipinadala sa network sa server na nagho-host ng mapagkukunan. Pinoproseso ng server ang kahilingan, kinukuha ang hiniling na mapagkukunan, at ibabalik ito sa kliyente. Ang pakikipag-ugnayan na ito ay pinadali ng Internet Protocol (IP) at Transmission Control Protocol (TCP), na nagsisiguro ng tumpak at maaasahang komunikasyon.
Halimbawa, kapag nagpasok ka ng URL sa iyong web browser, nagpapadala ang browser (client) ng kahilingan sa kaukulang web server upang kunin at ipakita ang web page. Hinahanap ng server ang hiniling na pahina, pinoproseso ito (kung kinakailangan), at ipapadala ito pabalik sa browser.
Ang mga server ay may mahalagang papel sa iba't ibang larangan, na nagpapagana sa Internet, mga network ng enterprise, at mga serbisyo sa cloud computing. Narito ang ilang mga application:
Bagama't hindi kami magsasagawa ng mga praktikal na eksperimento, ang pag-unawa kung paano i-explore ang functionality ng isang web server ay maaaring maging insightful. Halimbawa, gamit ang mga tool tulad ng 'curl' o 'Postman', maaari kang magpadala ng mga kahilingan sa mga web server at obserbahan ang mga tugon. Ang pakikipag-ugnayang ito ay nagpapakita kung paano pinangangasiwaan ng mga web server ang mga kahilingan sa HTTP at nagbabalik ng mga mapagkukunan gaya ng mga HTML page o data ng API.
Ang mga server ay ang backbone ng modernong computing, pinapadali ang pagpapalitan ng data at mga mapagkukunan, at tinitiyak na ang ating pang-araw-araw na pangangailangan sa internet ay natutugunan nang mahusay. Mula sa pagpapagana ng mga website hanggang sa pagpapagana ng mga serbisyo sa cloud, ang mga tungkulin ng mga server ay maraming aspeto at kailangang-kailangan sa digital na panahon. Ang pag-unawa sa mga server at ang kanilang mga operasyon ay nagbibigay ng pundasyon para sa pagpapahalaga sa mga kumplikado at kakayahan ng mga modernong network na kapaligiran.