/ / FastCGI, SCGI, - php, c, cgi, fastcgi

FastCGI, SCGI, - php, c, cgi, fastcgi

Ja píšem webový server v C, a musím prísť na spôsob, ako použiť CGI na vykonanie dynamického obsahu na strane servera.

Pozerám sa na protokol FastCGI a vyzerá to nepríjemný, Pripomína mi to trochu šmírovanie, ktoré som musel robiť v triede, keď som konvertoval ASCII na utf-8 a späť (to sa zdalo zbytočné, ale možno to nebolo "t ...)

Našiel som veľkú knižnicu napísanú v PHP, kde som mohol začať php-cgi -b localhost:8888 a začať s ním komunikovať. Je zrejmé, že som "d, že v C.

Ja by som to ocenil, keby niekto mohol nájsť knižnicu (pre FastCGI Klienti!). Ak nie, potom som "v poriadku s príspevkom do komunity open source napísaním.

Ako presne mám použiť SCGI? Tam je sotva nejaká dokumentácia na to (že môžem nájsť, tak ako tak) .Ktorá zásuvka mám pripojiť? Kde posielam požiadavky?


tiež php-cgi je len pre PHP, tak ako to funguje pre Perl, Python, atď?

Ešte raz ďakujem.

odpovede:

5 pre odpoveď č. 1

mario (v komentároch k otázke):

  • Na domovskej stránke FastCGI je uvedených niekoľko knižníc. http://fastcgi.com/drupal/node/5, Vývojový kit by mal obsahovať server.
  • Implementácia klienta je tu tiež zahrnutá. http://fastcgi.com/devkit/doc/fcgi-devel-kit.htm
  • SCGI http://python.ca/scgi/protocol.txt je extrémne jednoduchý na implementáciu aj bez referenčného kódu.
  • Potrebujete klienta SCGI, ktorý beží ako deamon, a ktorý prijíma soketové pripojenia na dohodnutom porte (4000 alebo 5000 sa zdajú byť spoločné).
  • SCGI sa nelíši od FastCGI. Každý jazyk by si vyžadoval vlastný démon, môžete spustiť viac. Prijatie CGI žiadostí je do značnej miery to, čo robia. Jediným rozdielom je socket a formát záhlavia namiesto CGI stdin rúry a premenných env.

K tomuto chcem pridať: CGI (čo je presne to, o čo sa pýta otázka) sa líši od FCGI a SCGI vo svojich pracovných modeloch. Je to celkom jednoduché, ak si ho pomýlime pre ostatných. Našťastie sa zdá, že Preetam požiadal o FCGI a SCGI.