Serverscript och databaser

PHP och andra serverskript

Hittills har vi arbetat med skript som laddas ned till användarens webbläsare tillsammans med HTML och CSS och körs på den dator de är nedladdade till. Detta kan kallas Client-side scripting, eller klientskript eftersom det körs på datorn som tar emot informationen, klienten.

Det finns också skriptspråk som körs på den andra sidan, serversidan (server-side). I dessa fall kommer funktionerna som körs inte belasta användarens dator över huvud taget. Faktum är att användaren inte ens har möjlighet att se skripten, utan bara resultatet av dem. Eftersom de i de flesta fall används för att automatiskt producera eller modifiera koden som skickas från servern till klienten. Serverskript kan påverka HTML, CSS, JavaScript eller vad som helst som ska skickas till klienten. Serverskript kan också påverka serverns beeenden på andra sätt, men inte någonting som användaren direkt kan se.

Varför serverskript

Serverskript kan hjälpa till att hantera större mängder information på en sajt, och minskar eller eliminerar mycket arbete som annars skulle behöva göras menuellt. Eftersom serverskript kan användas för att behandla inmatad information kan de med fördel användas för att bygga system som inte kräver några kunskaper i HTML eller CSS hos en användare. De är ett måste för att man ska kunna göra CMS:er, till exempel bloggplattformar. Andra vanliga saker som knappast skulle kunna existera utan serverskript är kommentarsfält, diskussionsforum eller automatiska webbutiker. De finns alltså överallt där någonting behöver göras på servern, åtskiljt från användarens dator. Gemensamt har de att de alla syftar till att producera fungerande HTML, CSS och JavaScript som kan skickas till användarens dator och visas i en webbläsare.

Innehållshanteringssystem, CMS

De flesta webbsajter i produktion idag är producerade med hjälp av serverscript som på olika sätt bidrar till att skapa den slutliga koden som når användaren. Facebook består till exempel av mallar (CSS och små snuttar HTML), en databas, och serverskript. Facebooks serverskript hämtar, på begäran, information från databasen, petar in den i mallarna och producerar HTML-koden du ser på sidan. Serverskript ser också till att skicka information du skriver in, till exempel en statusuppdatering, till databasen.

Ett system som på detta sätt dynamiskt producerar webbsidor (oftast med hjälp av en databas) brukas kallas för CMS, Content Management System eller innehållshanteringssystem på svenska. Det kanske mest kända (och mest använda) är Wordpress som framför allt används för bloggar.

Serverskript kan dock användas på många olika sätt för att uppfylla olika behov även om man inte behöver en komplett CMS. Den här sajten, som du befinner dig på, använder sig till exempel av några enkla serverskript för att underlätta arbetet. Allt innehåll är dock skrivet för hand, i vanlig HTML, med CSS och JavaScript.

Jag kanske bör nämna här att även om du mer än gärna får använda serverskript i arbetet med ditt slutprojekt, får du inte basera hela ditt arbete på en existerande CMS. Du ska ju lära dig att utveckla och koda, inte fylla i någon annas formulärfält.

Olika serverskriptspråk

Det finns flera olika serverskriptspråk, som alla kan göra mer eller mindre samma saker. Mest avvända är PHP och ASP (ASP.NET), men det finns också många sajter som använder sig av JavaServer Pages (JSP, Java)

Utöver de stora språken ovan finns en mängd andra programmeringsspråk som används på servrar. Särskilt värda att nämna ColdFusion, Ruby och Perl.

Vilket eller vilka serverskriptspråk man väljer att använda beror på flera faktorer. Den kanske viktigaste faktorn är om språket fungerar på servermjukvaran som används. Här kan man nämna att ASP är en Microsoftprodukt, som bara fungerar fullt ut på Microsofts serverprogramvara, som i sin tur måste köras på en dator med Windows. Detta kan jämföras med PHP, som stöds av de flesta webbserverprogramvaror som existerar, antingen direkt eller genom insticksprogram.

Andra faktorer som kan påverka är om ett språk har några särskilda funktioner man vill åt, hur stora prestandakrav de har på servern, om man vill köra några särskilda existerande skript eller helt enkelt om man tycker om, kan eller är intresserad av ett visst språk. Olika språk kan ha lite olika finesser och irritationsmoment.

I dagsläget (2015-03-10) används PHP på över 80% av världens stora sajter och ASP.NET är tvåa med 17%, sedan kommer alla andra (källa). PHP är alltså ojämförligen mest populärt.

De mest populära CMS:erna, WordPress, Joomla och Drupal är alla skrivna i PHP, Wikipedia är skrivet i PHP liksom i stor utsträckning Facebook (som blandar med andra språk, bland andra sitt egenutvecklade språk Hack).