Statyczne i dynamiczne strony WWW


CGI

Pierwsze rozwiązania dynamicznego generowania stron opierały się na technologii CGI (Common Gateway Interface). CGI nie jest odrębnym językiem programowania lub środowiskiem programistycznym. CGI to zbiór reguł i zasad komunikowania się serwera HTTP z zewnętrznym programem wykonywalnym, który de facto tworzy dynamiczne strony i generuje kod HTML. Programy i skrypty CGI mogą być pisane w dowolnym języku programowania, np. C/C++, Delphi, Java czy Visual Basic. Bardzo popularnym językiem opierającym się na technologii CGI jest skryptowy język Perl. W tym przypadku rola interfejsu CGI sprowadza się do pośrednictwa w wymianie komunikatów i informacji między serwerem HTTP a programem interpretera języka Perl, który przetwarza polecenia zawarte w skrypcie.

Przeglądarka internetowa wysyła zapytanie do serwera HTTP z poleceniem przetworzenia konkretnego pliku (plik CGI, EXE, itp.). Serwer uruchamia wskazany w poleceniu przeglądarki zewnętrzny program i, uwzględniając przekazane zmienne i parametry, generuje kod w języku HTML. Tak wygenerowana strona przesyłana jest do przeglądarki.

W powszechnej opinii technologia CGI uważana jest za stosunkowo trudną do opanowania. Dzieje się tak za sprawą języków programowania wykorzystywanych do projektowania aplikacji CGI. Są to języki uniwersalne, projektowane nie z myślą o zastosowaniach internetowych, przez co trudno pisze się w nich programy współpracujące z serwerami HTTP. Poza tym, każdorazowe uruchomienie zewnętrznego programu lub programu interpretera wiąże się z koniecznością utworzenia przez serwer nowego procesu, co pochłania cenne zasoby systemowe i jest bardzo czasochłonne. O ile ułomność ta nie ma zasadniczego znaczenia dla szybkości pracy mało obciążonych serwerów, o tyle ma kluczowe znaczenie, gdy serwer HTTP z CGI wykorzystywany jest do obsługi bardzo popularnych serwisów internetowych.

Na szczęście dla mniej zaawansowanych webmasterów, wraz z momentem pojawienia się na rynku dwóch konkurencyjnych wobec CGI technologii - ASP i PHP - pisanie programów dynamicznie generujących strony WWW stało się zdecydowanie łatwiejsze i bardziej dostępne.

ASP

Active Server Pages to technologia dynamicznego tworzenia stron WWW opracowana przez firmę Microsoft. Technologia ta charakteryzuje się wyjątkowo łatwą w implementacji i wydajną w działaniu współpracą z bazami danych. Dzieje się tak za sprawą wbudowanych obiektów ADO (ActiveX Data Objects). To właśnie ta cecha w dużym stopniu przyczyniła się do dużej popularności technologii ASP, co zaowocowało próbami adaptacji tej technologii na inne płaszczyzny systemowe, np. Linuksa. Ze zrozumiałych względów, wysiłek ten nie był podejmowany przez Microsoft, tylko przez inne niezależne firmy i grupy programistów. Jak na razie bez większych efektów...

Do projektowania witryn internetowych opartych na technologii ASP można wykorzystać dowolny skryptowy języka programowania, oczywiście pod warunkiem, że system będzie dysponował odpowiednią biblioteką interpretera. Standardowa dystrybucja ASP rozpowszechniana jest z dwoma językami: VBScript, który jest skryptową odmianą Visual Basica i JScript - skryptową odmianą Javy. Na rynku dostępne są również interpretery innych popularnych języków, np. interpreter języka Perl czy REXX, które dostarczane są przez niezależnych producentów.

Bezproblemowe funkcjonowanie technologii ASP wymaga współpracy z serwerem Personal Web Serwer (Windows 95/98, Windows NT Workstation) lub Internet Information Server (Windows NT Server, Windows 2000).

PHP

Personal Home Pages lub Hypertext Preprocessor to alternatywna wobec ASP technika dynamicznego tworzenia stron, zyskująca sobie coraz większe zainteresowanie wśród internetowych projektantów. Swoją konstrukcją i mechanizmami funkcjonowania przypomina technologię ASP, z tą różnicą, że PHP samo w sobie jest pełnoprawnym językiem programowania, a ASP jedynie środowiskiem programistycznym. PHP jest projektem typu "open sourceÓ, tworzonym przede wszystkim z przeznaczeniem na platformy linuksowe. Jednak twórcy tej nowoczesnej technologii nie zapomnieli o użytkownikach Windows i z myślą o nich zaprojektowali dystrybucję PHP w wersji do 32-bitowych systemów Microsoftu.

Skrypty PHP mogą być obsługiwane przez serwer HTTP w dwóch trybach. W trybie CGI zasada działania skryptu jest identyczna jak zewnętrznego programu uruchamianego przez interfejs CGI. W tym przypadku serwer uruchamia zewnętrzny program interpretera poleceń języka PHP. W drugim możliwym trybie pracy, polecenia języka PHP wykonywane są przez rezydujący w obszarze pamięci serwera moduł interpretera. Drugie rozwiązanie jest efektywniejsze, ponieważ rezydentny moduł może obsłużyć większą liczbę żądań i nie wymaga każdorazowego tworzenia nowego procesu przez serwer WWW.

Przeglądarka internetowa wysyła zapytanie do serwera HTTP z poleceniem przetworzenia konkretnego pliku (plik PHP, ASP, itp.). Serwer uruchamia rezydentny moduł interpretera, który przetwarza polecenia zawarte w skrypcie i generuje stronę WWW opartą wyłącznie na znacznikach HTML. Wygenerowana strona przesyłana jest do przeglądarki.