Podręcznik
1. Czym są zaawansowane aplikacje internetowe, czyli wstęp lekko historyczny
1.2. Automatyzacja generowania dokumentów HTML
Strony www w początkowym okresie budowane były jako zbiory polinkowanych ze sobą statycznych dokumentów HTML – czyli literalnie plików wgranych na serwer. Dość szybko okazało się, że pliki HTML w ramach jednego serwisu zawierają powtarzające się w wielu miejscach identyczne fragmenty kodu, np. nagłówki, stopki, menu, itp. Ręczne przygotowywanie dużej liczby podobnych do siebie plików HTML było i jest niepraktyczne, w związku z czym opracowano narzędzia pozwalające automatyzować po stronie serwera generowanie dokumentów HTML wysyłanych do przeglądarki. Jedną z dróg było wykorzystanie interfejsu CGI (ang. Common Gateway Interface), który unifikował sposób przekazywania żądań przesyłanych od klienta (tj. przeglądarki internetowej) poprzez serwer HTTP, do programu generującego odpowiedź. W takim przypadku mówimy o tzw. server-side rendering, czyli generowaniu kompletnego dokumentu HTML po stronie serwera w odpowiedzi na żądanie. Rolę takiego programu pełniły często skrypty w języku Perl lub inne dedykowane oprogramowanie, które mogło być napisane nawet w języku C czy C++. Technologia CGI obecnie uważana jest za przestarzałą i niewydajną z uwagi na tworzenie nowego procesu za każdym razem, gdy przetwarzano kolejne żądanie.
Więcej o CGI przeczytasz tutaj na portalu Geeks for Geeks (choć... traktuj to zdecydowanie jako ciekawostkę niż technikę, z której dziś skorzystasz).
Jako narzędzie do automatyzacji generowania stron sprawdził się stworzony w 1994 roku język Personal Home Page Toolkits, dziś znany powszechnie jako PHP. Początkowo implementowany był właśnie jako rozszerzenie CGI do serwera HTTP. Wśród twórców internetowych zdobył on ogromną popularność. Kilka lat później pojawiły się technologie, które wykorzystywały do implementacji dynamicznych stron internetowych język C# (Active Server Pages, ASP, rok 1998) czy język Java (Java Server Pages, JSP, rok 1999) – one również znalazły swoje nisze i stopniowo zdobywały popularność. W późniejszych latach do popularnych rozwiązań backendowych dołączyły te wykorzystujące język Python (np. stosunkowo prosta biblioteka Flask, czy też rozbudowany framework Django), Ruby z frameworkiem Ruby on Rails, czy JavaScript ze środowiskiem Node.js.
Realizacja serwisów internetowych wymagała także wygodnego sposobu przechowywania danych – tutaj z pomocą przyszły technologie relacyjnych baz danych obsługujących język zapytań SQL takie jak MySQL (rok 1996) czy PostgreSQL (1996, wcześniej występujący pod nazwą Postgres95).
W wolnej chwili przy kawie możesz zerknąć także do tych artykułów: