Jak skrypty CGI wykonują kod na serwerach internetowych

6

Common Gateway Interface (CGI) to starszy standard, ale nadal działa w tle, obsługując sieć. Większość serwerów przestrzega ścisłych zasad dotyczących tego mechanizmu. Tworzysz specjalny folder. Jej imię to zawsze cgi-bin. To nie tylko nazwa folderu. To jest zespół.

Kiedy widzisz ten katalog w drzewie głównym serwera, oprogramowanie rozumie ścisłą granicę. Pliki znajdujące się w środku nie są łatwe do odczytania. Są spełniane.

Zastanów się, co się stanie, gdy przeglądarka zażąda pliku w tej strefie. Serwer nie wysyła surowego kodu na Twój ekran. Uruchamia program. Następnie pobiera dane wyjściowe programu i wysyła to do Ciebie. Dane wyjściowe to strona, którą widzisz.

Kod wykonywalny jest zwykle jedną z dwóch rzeczy. Skompilowany plik binarny. Coś wygenerowanego przez kompilator C. Lub skrypt PERL. PERL ma w tym obszarze duży udział. Jest popularny w skryptach CGI, ponieważ bardzo łatwo obsługuje tekst.

Wyobraź sobie to. Wpisz adres URL w pasku adresu przeglądarki.

https://www.howstuffworks.com/cgi-bin/search.pl

Serwer widzi tę ścieżkę. Rozpoznaje, że search.pl znajduje się w folderze cgi-bin. Wykonuje więc skrypt PERL. Skrypt zostaje uruchomiony. Generuje dane wyjściowe. Dane wyjściowe są zwracane do przeglądarki. Nigdy nie widzisz kodu. Widzisz tylko wynik.

Czy możesz stworzyć swój własny? Tak. Ale potrzebujesz dwóch rzeczy. Po pierwsze, musisz znać język taki jak C lub PERL. Po drugie, potrzebujesz dostępu.

Jeśli płacisz za usługę hostingową, prawdopodobnie masz już tę opcję. Skontaktuj się ze swoim dostawcą. Zwykle domyślnie włączają obsługę skryptów CGI.

A co jeśli nie zapłacisz za hosting? Możesz zainstalować serwer WWW na swoim komputerze. To bardziej skomplikowane. Będziesz musiał majstrować przy plikach konfiguracyjnych. Ale dowiesz się tego znacznie szybciej, niż tylko o tym czytając.

Serwer uruchamia program w cgi-bin i wysyła wynik do przeglądarki. To oddzielenie ukrywa kod przed użytkownikiem.

To ustawienie jest ważne, ponieważ umożliwia tworzenie zawartości dynamicznej. Statyczny HTML jest nudny. On się nie zmienia. Skrypty CGI umożliwiają serwerowi generowanie stron w locie. Żądasz danych. Skrypt je odbiera. Serwer je wysyła.

Większość nowoczesnych aplikacji wykorzystuje obecnie inne metody. API. Ramy. Ale CGI to podstawa. Uczył sieć komunikowania się za pomocą kodu.

Nie musisz znać języka PERL, aby to zrozumieć. Wiedz tylko, że kiedy wejdziesz na ten adres URL, coś dzieje się w tle. Katalog cgi-bin jest wyzwalaczem. Konkluzja jest prezentem.

Dlaczego niektóre serwery nadal na tym polegają? Dziedzictwo. Stabilność. I dlatego, że to działa. Tylko. Bezpośrednio.

Jeśli chcesz to przetestować, znajdź hosta, który to obsługuje. Napisz prosty skrypt. Zobacz, co się stanie, gdy przeglądarka o to poprosi. Cykl jest zakończony. Strona się ładuje. Magia to po prostu matematyka i logika.