Spróbujmy uchylić rąbka tajemnicy wokół czegoś, co nazywa się CGI. Jeśli to w czymś pomoże, CGI oznacza Common Gateway Interface. Jest to metoda wykorzystywana do wymiany danych pomiędzy serwerem (sprzęt i oprogramowanie udostępniające stronę WWW) a klientem (przeglądarką). CGI jest w zasadzie zestawem standardów, dzięki którym program lub skrypt (seria poleceń) może wysłać dane z powrotem do serwera, gdzie mogą one zostać przetworzone.
o autorach
Richard Lowe Richard jest wielkim entuzjastą Internetu, stale walczącym o wolność komunikacji. Swoją wiedzę przekazuje wszystkim, którzy odwiedzą jego stronę Internet Tips and Secrets, współprowadzoną również przez jego żonę, Claudię. Zainteresowanym czytelnikom oferowany jest również bezpłatny, rozsyłany tygodniowo newsletter.
Łącznie napisał dla nas 1 artykułów.zobacz również
Zazwyczaj wykorzystuje się standardowe znaczniki HTML, aby pobrać dane od osoby i przesłać do procedury CGI. Odpowiednia procedura wykonuje działania na danych.
Jednymi z najczęstszych zastosowań CGI są:
- Książki gości - Procedura CGI jest odpowiedzialna za przyjęcie danych, kontrolę ich poprawności, wysłanie potwierdzenia do autora wpisu, być może wysłanie emaila do webmastera, oraz utworzenie samego wpisu do książki.
- Formularze wysyłania emaili - Prosta procedura CGI formatuje dane w wiadomość email i wysyła do adresata. Bardziej zaawansowane procedury mogą korzystać z bazy danych, wysyłać potwierdzenia i sprawdzać dane.
- Utrzymanie list wysyłkowych - Te procedury pozwalają odwiedzającym na wpisanie się i wypisanie z listy wysyłkowej. W tym przypadku procedura CGI utrzymuje bazę danych adresów email a lepsze z nich wysyłają potwierdzenia do odwiedzającego i webmastera.
Procedurą CGI może zostać wszystko, co wykorzystuje standard CGI. Popularnym językiem jest PERL, prosty w zrozumieniu i użyciu (w porównaniu do innych języków). PERL jest językiem pisania skryptów, co oznacza, że przy każdym wykonaniu procedury PERL'a serwer musi przeczytać wszystkie jej polecenia, aby dowiedzieć się, co ma zrobić. W przeciwieństwie do tego, program w skompilowanym języku takim jak C++ albo Visual Basic może być wykonany bezpośrednio, co jest szybsze i bardziej efektywne.
Dobrze, w pigułce (i dużym uproszczeniu), tak to działa:
- Ty (webmaster) wstawiasz znacznik
FORM, który zawiera nazwę procedury CGI. - Tworzysz znaczniki HTML, które pobierają dane od internauty.
- Każdy ze znaczników zawiera nazwę zmiennej. Dane, które są pobierane od odwiedzającego (lub wcześniej ustawione, jeśli zastosujemy znaczniki "hidden") są przypisywane odpowiednim zmiennym.
- Kiedy odwiedzający kliknie 'wyślij', procedura CGI określona w formularzu jest wykonywana. Od tej chwili to właśnie procedura CGI przejmuje kontrolę, a przeglądarka czeka na jej zakończenie.
- Procedura CGI może pobrać dane ze zmiennych. PóĽniej może przetworzyć je w dowolny wymagany sposób.
- Kiedy procedura CGI skończy, zwraca wyniki i potwierdzenie zakończenia do przeglądarki.
Kilka ważnych rzeczy do zapamiętania o procedurach CGI:
- Możesz zainstalować procedurę CGI u siebie, jeśli twój provider na to zezwala. Niektórzy providerzy nie pozwalają instalować własnych procedur, ale dostarczają niektóre pre-instalowane. Jeśli te nie wystarczą możesz znaleĽć serwis, który oferuje odpowiednie funkcje zdalnie z własnych zasobów.
- Zazwyczaj jeśli instalujesz własne procedury muszą one być umieszczone w katalogu /cgi-bin/ na twoim koncie. To jest specjalnie ustalone miejsce, w którym skrypty i programy mogą być wykonywane.
- Procedury CGI działają najlepiej na serwerach podobnych do Apache'a. Windows NT i Windows 2000 pozwalają na użycie CGI, ale ich działanie jest wolne i często sprawia problemy.
- Jeśli korzystasz z usług zdalnych pamiętaj, że nawet jeśli wydają się być usługami darmowymi, płacisz za to pewną cenę. Niektóre będą wyświetlały własne reklamy, inne mogą nawet zabierać odwiedzających z twojej strony.
- Kiedy piszesz procedurę CGI możesz wybrać język skryptowy jak Perl lub skompilowany jak C++ lub Visual Basic. Wszystko co może zostać wykonane na serwerze jest dobre.
Mam nadzieję, że to krótkie wprowadzenie do CGI wyjaśniło niektóre sprawy.