Wat is server-side scripting?
Server-side scripting is een term die voornamelijk wordt gebruikt voor het aanbieden van aangepaste inhoud via het hypertext transfer protocol (HTTP) op een webserver door de server kleine programma's te laten uitvoeren. Deze programma's, meestal geschreven in een scripttaal, worden uitgevoerd door de server wanneer een clientaanvraag binnenkomt. Afhankelijk van de parameters die door de client zijn opgegeven op het moment van de aanvraag, genereert het script vervolgens een webpagina voor de client. Webpagina's die op deze manier zijn gemaakt, worden vaak dynamische pagina's genoemd. Dit in tegenstelling tot een client-side script dat van de server naar de aanvragende client wordt verzonden en vervolgens wordt uitgevoerd.
De eerste scriptingtechnieken aan de serverzijde kwamen tot stand om inhoud te leveren die uniek is voor de gebruiker die het verzoek indient, en om tijd te besparen door het handmatig bewerken van de HTML-documenten (hypertext markup language) te verminderen. De server-side scripts waren vaak kleine, uitvoerbare bestanden die een reeks opdrachten bevatten die aan het besturingssysteem konden worden doorgegeven. De webdaemon, de software waarop de webserver draait, zou deze shellscripts gebruiken om een extra programma op de hostcomputer verder uit te voeren. Deze algemene techniek werd vervolgens in 1993 gedefinieerd in de gemeenschappelijke gateway-interface (CGI) -standaard ontwikkeld door de Internet Engineering Task Force (IETF). In de meeste gevallen werden deze vroege CGI-scripts gebruikt om databasereacties van de server terug te sturen naar de aanvragende client.
Naarmate geïnterpreteerde scripttalen werden ontwikkeld, zoals Perl en PHP: Hypertext Preprocessor (PHP), evolueerden ook server-side scriptmethoden. HTTP-daemons zijn bijgewerkt met gebruiksextensies waarmee deze verschillende scripttalen kunnen worden opgeroepen vanuit de webdaemon zelf, in plaats van te worden doorgegeven aan het besturingssysteem op de host. Met deze toevoeging kunnen stukjes scripttaal worden opgenomen in het HTML-document. Terwijl de webserver een document doorleest voordat het over het web wordt verzonden, controleert het of er een script in het document wordt uitgevoerd.
Omdat de inhoud die wordt opgeroepen door server-side scripting zich in een database bevindt, kan het vrijwel alles zijn. Inhoud zoals productbeschrijvingen, prijsvariaties, weblogitems, afbeeldingen en zelfs opmaak wordt opgeslagen in de database. Het is ook mogelijk om een serverfragment aan de serverzijde in een andere te nestelen, waarbij het eerste script bepaalde gegevens uit de database haalt, maar ook een tweede script aanroept dat toegang heeft tot secundaire gegevens. Dit is bijvoorbeeld handig bij het leveren van een aantal vrij aangepaste standaardinhoud met extra geneste inhoud die mogelijk tijdgevoelig of nog onbekend is, zoals opmerkingen over een weblogitem. Bij het onderhoud van websites worden gegevens in de database bijgewerkt, die vervolgens van invloed zijn op elke pagina op de website met het meegeleverde script om die gegevens op te roepen.
Veel van de server-side scripting-technieken zijn verder ontwikkeld tot zogenaamde content management systems (CMS). PHP is waarschijnlijk de meest gebruikte taal voor dit doel, die de kern vormt van veel CMS-implementaties. Hier zal een gebruiker die een website beheert die op een CMS draait, haar HTML-documenten bewerken met zogenaamde tags. De tags zijn in wezen aanwijzingen voor het CMS om het te vertellen welk script in het document moet worden opgenomen. Het CMS kan vervolgens worden aangepast door extra scripts en de bijbehorende tags te maken.