CGI to wspólny interfejs bramy. Jak sama nazwa wskazuje, jest to „wspólny” interfejs bramy do wszystkiego. Nazwa jest tak banalna i naiwna. Czuję, że to zrozumiałem i czułem to za każdym razem, gdy napotkałem to słowo. Ale szczerze mówiąc, nie zrobiłem tego. Wciąż jestem zdezorientowany.
Jestem programistą PHP z doświadczeniem w tworzeniu stron internetowych.
żądanie użytkownika (klienta) dotyczące strony ---> serwer WWW (-> osadzony interpreter PHP) ----> skrypt po stronie serwera (PHP) ---> serwer MySQL.
Powiedzmy teraz, że mój skrypt PHP może pobierać wyniki z serwera MySQL i serwera MATLAB i niektórych innych serwerów.
Więc teraz skrypt PHP to CGI? Ponieważ jego interfejs między serwerem WWW a wszystkimi innymi serwerami? Nie wiem Czasami nazywają CGI, technologię, a innym razem nazywają CGI programem lub innym serwerem.
Czym dokładnie jest CGI?
O co chodzi
/cgi-bin/*.cgi
? O co chodzi? Nie wiem do czego służy tencgi-bin
katalog na serwerze. Nie wiem, dlaczego mają rozszerzenia * .cgi.Dlaczego Perl zawsze przeszkadza. CGI i Perl (język). Nie wiem też, co jest z tymi dwoma. Prawie cały czas słyszę te dwie kombinacje „CGI i Perl”. Ta książka to kolejny świetny przykład programowania CGI w Perlu . Dlaczego nie „Programowanie CGI za pomocą PHP / JSP / ASP”? Nigdy nie widziałem takich rzeczy.
Programowanie CGI w C bardzo mnie dezorientuje. „ w C ” ?? Poważnie?? Nie wiem co powiedzieć. Jestem tylko zmieszany. „ w C ” ?? To zmienia wszystko. Program musi zostać skompilowany i wykonany. To całkowicie zmienia mój pogląd na programowanie sieciowe. Kiedy kompiluję? Jak program jest wykonywany (ponieważ będzie to kod maszynowy, więc musi być wykonywany jako niezależny proces). Jak komunikuje się z serwerem WWW? IPC? i współpraca ze wszystkimi serwerami (w moim przykładzie MATLAB i MySQL) za pomocą programowania gniazd? Zgubiłem się!!
Ludzie mówią, że CGI jest przestarzałe i nie jest już używane. Czy tak jest Jaka jest najnowsza aktualizacja?
Raz spotkałem się z sytuacją, w której musiałem przyznać dostęp do żądania HTTP PUT do serwera WWW (Apache HTTPD). To długi powrót. O ile pamiętam, to właśnie zrobiłem:
Edytowałem plik konfiguracyjny Apache HTTPD, aby serwer WWW przekazał wszystkim żądania HTTP PUT do niektórych
put.php
(musiałem napisać ten skrypt PHP)Zaimplementuj put.php, aby obsłużyć żądanie (zapisz plik w wymienionej lokalizacji)
Ludzie mówili, że napisałem skrypt CGI. Poważnie, nie miałem pojęcia, o czym rozmawiają.
- Czy naprawdę napisałem skrypt CGI?
Mam nadzieję, że zrozumiałeś moje zamieszanie. (Ponieważ sam nie wiem, gdzie jestem zdezorientowany). Proszę was, abyście jak najprostsi udzielili odpowiedzi. Naprawdę nie rozumiem żadnej wymyślnej terminologii technicznej. Przynajmniej nie w tym przypadku.
EDYTOWAĆ:
Znalazłem ten niesamowity samouczek „Programowanie w CGI jest proste!” - Tutorial CGI , który wyjaśnia pojęcia w najprostszy możliwy sposób. Po przeczytaniu tego artykułu możesz przeczytać Pierwsze kroki z programowaniem CGI w C, aby uzupełnić swoje zrozumienie rzeczywistymi przykładami kodu. Dodałem również te linki do tego samouczka do artykułu Wikipedii: http://en.wikipedia.org/wiki/Common_Gateway_Interface