Co to jest skrypty po stronie serwera?
Skrypty po stronie serwera są terminem używanym przede wszystkim w odniesieniu do udostępniania niestandardowej treści za pośrednictwem protokołu przesyłania hipertekstu (HTTP) na serwerze WWW, ponieważ serwer wykonuje małe programy. Programy te, zwykle napisane w języku skryptowym, są wykonywane przez serwer, gdy nadejdzie żądanie klienta. W zależności od parametrów podanych przez klienta w momencie żądania, skrypt generuje następnie stronę internetową dla klienta. Strony internetowe utworzone w ten sposób są często nazywane stronami dynamicznymi. Jest to w przeciwieństwie do skryptu po stronie klienta, który jest wysyłany z serwera do klienta żądającego, a następnie wykonywany.
Pojawiły się pierwsze techniki skryptowe po stronie serwera w celu dostarczenia treści, które są unikalne dla użytkownika zgłaszającego żądanie, a także w celu zaoszczędzenia czasu poprzez ograniczenie ręcznej edycji dokumentów w języku HTML. Skrypty po stronie serwera były często małymi plikami wykonywalnymi zawierającymi szereg poleceń do przekazania do systemu operacyjnego. Demon sieciowy, oprogramowanie uruchamiające serwer WWW, używałby tych skryptów powłoki w celu dalszego uruchomienia dodatkowego programu znajdującego się na komputerze hosta. Ta ogólna technika została następnie zdefiniowana w 1993 r. W standardzie interfejsu wspólnej bramy (CGI) opracowanym przez Internet Engineering Task Force (IETF). W większości przypadków te wczesne skrypty CGI były używane do wysyłania odpowiedzi bazy danych z serwera z powrotem do żądającego klienta.
Wraz z rozwojem interpretowanych języków skryptowych, takich jak Perl i PHP: Hypertext Preprocessor (PHP), ewoluowały również metody skryptowe po stronie serwera. Demony HTTP zostały zaktualizowane w celu uwzględnienia rozszerzeń umożliwiających wywoływanie tych różnych języków skryptowych z samego demona internetowego, zamiast przekazywania go do systemu operacyjnego na hoście. Dzięki temu dodatkowi fragmenty języka skryptowego mogą być zawarte w dokumencie HTML. Gdy serwer WWW czyta dokument przed wysłaniem go przez sieć, sprawdza i wykonuje dowolny skrypt w tym dokumencie.
Ponieważ zawartość wywoływana przez skrypty po stronie serwera znajduje się w bazie danych, może to być praktycznie wszystko. Zawartość, taka jak opisy produktów, zmiany cen, wpisy w blogach, obrazy, a nawet formatowanie, jest przechowywana w bazie danych. Możliwe jest również zagnieżdżenie jednego fragmentu skryptu po stronie serwera w innym, w którym pierwszy skrypt pobiera określone dane z bazy danych, ale wywołuje również drugi skrypt, który uzyskuje dostęp do danych wtórnych. Jest to przydatne na przykład w przypadku dostarczania dość niestandardowej standardowej treści z dodatkową zawartością zagnieżdżoną, która może być wrażliwa na czas lub jeszcze nieznana, na przykład komentarze do wpisu w blogu. Utrzymanie strony internetowej polega zatem na aktualizacji danych w bazie danych, co wpłynie na każdą stronę w witrynie za pomocą dołączonego skryptu wywołującego te dane.
Wiele technik skryptowych po stronie serwera zostało rozwiniętych w tak zwane systemy zarządzania treścią (CMS). PHP jest prawdopodobnie najczęściej używanym językiem do tego celu, działając w centrum wielu implementacji CMS. Tutaj użytkownik prowadzący stronę internetową działającą w CMS będzie edytować swoje dokumenty HTML, aby uwzględnić tak zwane tagi. Znaczniki są w zasadzie sygnałami do CMS-a, które informują go, jaki skrypt należy dołączyć do dokumentu. CMS można następnie dostosować, tworząc dodatkowe skrypty i powiązane z nimi tagi.