tom000 - Personal Website - Strona główna
decor1 Serwer HTTP decor2

Obsługa CGI

    Wykorzystanie zewnętrznego oprogramowania do generowania zasobów dla klientów jest już właściwie standardem w serwerach HTTP. Warto więc taki mechanizm zaimplementować. Aktualnie jest klika możliwości realizacji takiego zadania:

  • CGI/1.1

  • FastCGI

  • Moduł serwera (np. moduł PHP dla Apache)

  • Serwery HTTP dla określonej technologii (np. Java Servlet)

    Najprostszym, choć może nie najlepszym rozwiązaniem, jakie można zaimplementować w serwerze HTTP jest CGI (Common Gateway Interface ). Standard CGI został opisany w dokumencie RFC-3875. Zasada działania jest bardzo prosta – przed uruchomieniem programu, który powinien wygenerować dla nas odpowiedź należy utworzyć pewne zmienne środowiskowe zawierające informacje o serwerze oraz otrzymanym od klienta zapytaniu. Kolejnym krokiem jest uruchomienie nowego procesu – programu, który ma wygenerować zasób. Na jego standardowe wejście wysyłane jest ciało zapytania klienta. Osobna aplikacja generuje odpowiedź dla klienta wraz z nagłówkami HTTP i zwraca ją do standardowego wyjścia, skąd serwer HTTP pobiera informacje. Specyfikacja CGI/1.1 pozwala na modyfikację wygenerowanej treści, więc warto sprawdzić, czy dodano wszystkie potrzebne nagłówki do wygenerowanej odpowiedzi (np. „Content-Type”, „Content-Length”, „Date” itp.). Następnie wygenerowana treść może zostać zwrócona w odpowiedzi do klienta [25].

← Negocjacja treści Serwer HTTP Architektura serwera →
Copyleft (C) tom000.info 2004-2012. Some rights reserved.