Backend
Den del av ett system som körs på en server, utom synhåll för användaren. Den lagrar data, kontrollerar behörighet och utför arbetet.
- Kallas även
- back end, serversida
- Kategorier
- ProgrammeringInfrastruktur
Backend, back end, serversida
Enkel förklaring
Backend är allt som händer bakom kulisserna. På en restaurang är det köket: gästerna ser det inte, men där lagas maten, där finns förråden och där bestäms vad som går att beställa.
I ett datorsystem är backend de program som körs på en server, en dator som andra datorer kopplar upp sig mot. Där sparas uppgifter, där kontrolleras vem som får göra vad, och där utförs det mesta av arbetet.
Teknisk förklaring
En backend består oftast av:
- ett program som tar emot anrop, ofta genom ett API
- en databas där uppgifterna sparas
- regler för behörighet: vem som får läsa och ändra vad
Frontend skickar frågor till backend och visar svaren. Eftersom backend körs på servern kan användaren inte läsa eller ändra koden där. Därför är det där hemligheter och behörighetskontroller hör hemma.
Praktiskt exempel
Kodkollektivets chatt har en backend. Där sparas alla meddelanden och konton, och där kontrolleras vem som får se vilka kanaler.
Kodkollektivet Academy har medvetet ingen backend. Sajten består bara av färdiga filer, och inget sparas om besökarna. Beslutet och skälen är dokumenterade i en ADR.
När och varför används det?
En backend behövs när ett system ska spara uppgifter, dela dem mellan användare eller kontrollera vem som får göra vad. Det gäller till exempel inloggning, beställningar och meddelanden.
En backend kräver mer underhåll och har fler säkerhetsrisker än en sajt utan backend.
Vanliga missförstånd
- “Backend är databasen.” Nej. Databasen är en del av backend. Programmet som tar emot frågorna och kontrollerar behörigheten är en annan.
- “Alla webbplatser har en backend.” Nej. Statiska webbplatser, som Academy, klarar sig utan.
- “Backend syns inte, så den behöver inte vara säker.” Tvärtom. Backend är det som skyddar uppgifterna, och den kan nås av alla på internet.