Client-server databehandling er en databehandlingsmodell der klienter (ofte implementert som sluttbrukerenheter som datamaskiner, telefoner og nettbrett) ber om tjenester fra servere (vanligvis implementert som backend-datamaskiner).
Hver klient samhandler med serveren for å sende inn en forespørsel og få den forespurte informasjonen eller tjenesten. Klienten sender sin forespørsel til et spesifisert portnummer på serveren, som identifiserer tjenesten eller applikasjonen som forespørselen skal sendes til. Serveren behandler deretter forespørselen og sender tilbake et svar.
Her er nøkkelkomponentene i en klient-server-arkitektur:
1. Klient :Dette er enheten som ber om tjenester fra serveren. Klienter kan være enheter som personlige datamaskiner, smarttelefoner eller andre nettverkstilkoblede enheter. Hver klient sender forespørsler uavhengig til serveren.
2. Server :Dette er en tjenesteleverandør som mottar og behandler forespørsler fra flere klienter. Servere er vanligvis kraftigere datamaskiner eller spesialisert maskinvare dedikert til å tilby spesifikke tjenester.
3. Kommunikasjonsprotokoll :Klienten og serveren kommuniserer gjennom en veldefinert kommunikasjonsprotokoll, som HTTP eller TCP/IP, som spesifiserer hvordan forespørsler sendes, hvordan svar mottas og hvordan data overføres mellom dem.
4. Tjenester og applikasjoner :På serversiden kan ulike tjenester eller applikasjoner være vert for å oppfylle klientforespørsler. Disse kan inkludere webhotell, fildeling, databasetilgang, e-posttjenester eller andre spesifikke tjenester.
5. Nettverkstilkobling :Klienten og serveren kan kobles sammen via et lokalnettverk (LAN), internett eller andre typer nettverk. Nettverket gir infrastrukturen for dataoverføring mellom dem.
I en klient-server-modell sentraliserer serveren ansvaret for å vedlikeholde og oppdatere data, administrere brukerautentisering og sikkerhet og tilby spesialiserte funksjoner eller tjenester. Det forbedrer også skalerbarheten, siden det kan håndtere flere klientforespørsler samtidig, samtidig som det gir klienter effektiv tilgang til delte ressurser og tjenester.
Eksempler fra den virkelige verden på klient-serversystemer inkluderer nettsurfing (nettservere som er vert for nettsteder og brukerens nettlesere som fungerer som klienter), online spill (spillservere som er vert for spilløkter med spillerens enheter som klienter), e-postsystemer (e-postservere som lagrer og leverer meldinger , og e-postklienter som får tilgang til serveren for å sende eller motta e-poster).