Klient, server, database og API'et imellem dem
Når du bruger en webapplikation, er der i virkeligheden to programmer i spil. Frontend er det, der kører i din browser og er det, du ser og klikker på. Backend kører på en server et andet sted og håndterer data, regler og adgang. De to taler sammen over nettet.
Frontend består af den HTML, CSS og JavaScript, browseren henter og kører. Her ligger brugerfladen og den umiddelbare interaktion. Fordi koden kører hos brugeren, kan man ikke stole på den til sikkerhed — alt, der kommer fra klienten, skal kontrolleres igen på serveren.
Backend håndterer forretningslogik, adgangskontrol og data. Det er her, man typisk arbejder med en database, validerer input, tjekker om brugeren har lov til en handling, og sørger for at gemme og hente data sikkert. Backend afvikles på en server, brugeren ikke har direkte adgang til.
Frontend og backend kommunikerer gennem et API (Application Programming Interface). En udbredt stil er et web-API, hvor frontend sender en forespørgsel, og backend svarer med data — ofte i formatet JSON. På den måde kan både en webside, en mobilapp og andre systemer bruge samme backend, fordi de taler det samme aftalte sprog.
Forestil dig en bruger, der gemmer en profil: frontend samler felterne og sender dem til backendens API. Backend tjekker, at brugeren er logget ind og har lov, validerer felterne, gemmer dem i databasen og svarer med et resultat. Frontend viser så en bekræftelse. Hver part gør netop sin del af arbejdet.