AWWW-1st3.6-w01.tresc-1.0-Slajd10
Dokumenty statyczne i dynamiczne
W pierwszych latach rozwoju technologii WWW wszystkie dokumenty udostępniane przez serwery HTTP były zapisane jako gotowe pliki w systemie plików serwera HTTP. Zapewniało to szybki dostęp do ich treści, lecz wymagało modyfikacji plików gdy zmianie ulegały opisywane przez nie dane. Dokumenty takie nazywano dokumentami statycznymi. W 1993 roku pojawiła się koncepcja automatycznego generowania dokumentów przez serwery HTTP (http://hoohoo.ncsa.uiuc.edu/cgi/). Zakładała ona, że po otrzymaniu żądania od klienta, serwer HTTP uruchamia program, który dopiero konstruuje dokument wynikowy. Program taki jest uruchamiany w odpowiedzi na każde żądanie klienta HTTP. Dokumenty generowane przez programy pracujące po stronie serwera HTTP nazywa się dokumentami dynamicznymi.
Przykład dokumentu dynamicznego został przedstawiony na slajdzie. Zauważmy, że dwa żądania zawierające identyczne adresy URL zwróciły dokumenty o różnej treści. Najbardziej prawdopodobnym wyjaśnieniem tego zjawiska jest to, że żądany dokument jest generowany automatycznie przez program znajdujący się po stronie serwera HTTP. Program ten, korzystając ze zmieniającej się zawartości źródła danych, zwrócił różne wyniki podczas każdego z wywołań.
Koncepcja automatycznego generowania dokumentów stała się inspiracją dla powstania nowej kategorii aplikacji komputerowych, nazywanych aplikacjami WWW (web applications) lub aplikacjami wielowarstwowymi (multitier applications). Aplikacje WWW to zestawy programów komputerowych znajdujących się po stronie serwera HTTP, które komunikują się z użytkownikiem końcowym za pomocą dokumentów dynamicznych obsługiwanych przez programy klientów HTTP. Zwykle aplikacje WWW wymagają obecności specjalnego środowiska uruchomieniowego nazywanego serwerem aplikacji. Serwer aplikacji stanowi część serwera HTTP lub jest z nim powiązany.
W dzisiejszym Internecie można znaleźć bardzo wiele zastosowań technologii dokumentów dynamicznych i aplikacji WWW. Wśród nich znajdują się: systemy bankowości internetowej, sklepy internetowe, serwisy aukcyjne, portale internetowe, systemy informujące o połączeniach lotniczych i kolejowych, itd.