CGI, Ortak Ağ Geçidi Arabirimidir. Adından da anlaşılacağı gibi, her şey için "ortak" bir ağ geçidi arayüzüdür. Adından çok önemsiz ve naif. Bunu anladığımı hissediyorum ve bu kelimeyle her karşılaştığımda bunu hissettim. Ama açıkçası söylemedim. Hala kafam karıştı.
Ben web geliştirme deneyimi olan bir PHP programcısıyım.
sayfa için kullanıcı (istemci) isteği ---> webserver (-> katıştırılmış PHP yorumlayıcısı) ----> Sunucu tarafı (PHP) Komut Dosyası ---> MySQL Sunucusu.
Şimdi PHP Script'imin MySQL sunucusundan & MATLAB sunucusundan ve başka bir sunucudan sonuçları getirebileceğini söyleyin.
Peki, şimdi PHP Script CGI mı? Çünkü web sunucusu ve diğer tüm sunucular arasındaki arayüzü? Bilmiyorum. Bazen CGI, teknoloji diyorlar, diğer zamanlarda CGI program veya başka bir sunucu diyorlar.
CGI tam olarak nedir?
Ne ile büyük anlaşma
/cgi-bin/*.cgi
? Bunun nesi var?cgi-bin
Sunucudaki bu dizinin ne için olduğunu bilmiyorum . Neden * .cgi uzantıları olduğunu bilmiyorum.Perl neden hep yoluna giriyor? CGI ve Perl (dil). Ben de bu ikisinin ne olduğunu bilmiyorum. Neredeyse her zaman bu ikisini "CGI & Perl" kombinasyonunda duymaya devam ediyorum. Bu kitap Perl ile CGI Programlama için harika bir örnek . Neden "PHP / JSP / ASP ile CGI Programlama"? Hiç böyle şeyler görmedim.
C'de CGI Programlama , beni çok karıştırıyor. " C " içinde ?? Ciddi anlamda?? Ne diyeceğimi bilmiyorum. Sadece kafam karıştı. " C " içinde ?? Bu her şeyi değiştirir. Programın derlenmesi ve yürütülmesi gerekir. Bu tamamen web programlama bakışımı değiştiriyor. Ne zaman derleyeceğim? Program nasıl yürütülür (çünkü bir makine kodu olacağından, bağımsız bir işlem olarak yürütülmesi gerekir). Web sunucusuyla nasıl iletişim kurar? IPC? ve soket programlama kullanarak tüm sunucularla (benim örneğim MATLAB ve MySQL) arayüz? Kayboldum!!
İnsanlar CGI'nın kullanımdan kaldırıldığını ve artık kullanılmadığını söylüyor. Öyle mi? En son güncelleme nedir?
Bir kere, HTTP PUT isteğine web sunucusuna (Apache HTTPD) erişim vermek zorunda kaldım. Uzun bir arka. Yani, hatırladığım kadarıyla yaptığım şey bu:
Web sunucusuna tüm HTTP PUT isteklerini bazılarına iletmesini söylemek için Apache HTTPD'nin yapılandırma dosyasını düzenledi
put.php
(Bu PHP betiğini yazmak zorunda kaldım)İsteği işlemek için put.php uygulayın (dosyayı belirtilen konuma kaydedin)
İnsanlar bir CGI Senaryosu yazdığımı söyledi. Cidden, ne hakkında konuştuklarına dair bir fikrim yoktu.
- Gerçekten CGI Script mi yazdım?
Umarım karışıklığımın ne olduğunu anlarsın. (Çünkü kendim nerede kafam karıştı bilmiyorum). Sizden cevabınızı mümkün olduğunca basit tutmanızı rica ediyorum. Hiçbir fantezi teknik terminolojisini gerçekten anlayamıyorum. En azından bu durumda değil.
DÜZENLE:
Ben bu şaşırtıcı öğretici buldum "CGI Programlama Basit!" - Kavramları mümkün olan en basit şekilde açıklayan CGI Eğitimi . Bu makaleyi okuduktan sonra , gerçek kod örnekleri ile anlayışınızı desteklemek için C dilinde CGI Programlamaya Başlarken bölümünü okumak isteyebilirsiniz . Bu eğiticiye bu bağlantıları Wikipedia'nın makalesine de ekledim: http://en.wikipedia.org/wiki/Common_Gateway_Interface