ä»ä¹æ¯CGI
1. å®ä¹ï¼
CGI(Common Gateway Interface)æ¯HTTPæå¡å¨ä¸ä½ çæå
¶å®æºå¨
ä¸çç¨åºè¿è¡â交è°âçä¸ç§å·¥å
·ï¼å
¶ç¨åºé¡»è¿è¡å¨ç½ç»æå¡å¨ä¸ã
2. åè½ï¼
ç»å¤§å¤æ°çCGIç¨åºè¢«ç¨æ¥è§£éå¤çæ°èªè¡¨åçè¾å
¥ä¿¡æ¯ï¼å¹¶å¨æ
å¡å¨äº§çç¸åºçå¤çï¼æå°ç¸åºçä¿¡æ¯åé¦ç»æµè§å¨ãCGIç¨åºä½¿
ç½é¡µå
·æ交äºåè½ã
3. è¿è¡ç¯å¢ï¼
CGIç¨åºå¨UNIXæä½ç³»ç»ä¸CERNæNCSAæ ¼å¼çæå¡å¨ä¸è¿è¡ã
å¨å
¶å®æä½ç³»ç»ï¼å¦ï¼windows NTåwindows95çï¼çæå¡å¨ä¸
ä¹å¹¿æ³å°ä½¿ç¨CGIç¨åºï¼åæ¶å®ä¹éç¨äºåç§ç±»åæºå¨ã
4. CGIå¤çæ¥éª¤ï¼
â´éè¿Internetæç¨æ·è¯·æ±éå°æå¡å¨ã
âµæå¡å¨æ¥æ¶ç¨æ·è¯·æ±å¹¶äº¤ç»CGIç¨åºå¤çã
â¶CGIç¨åºæå¤çç»æä¼ éç»æå¡å¨ã
â·æå¡å¨æç»æéåå°ç¨æ·ã
5. CGIæå¡å¨é
ç½®ï¼
CGIç¨åºä¸æ¯æ¾å¨æå¡å¨ä¸å°±è½é¡ºå©è¿è¡ï¼å¦æè¦æ³ä½¿å
¶å¨æå¡å¨
ä¸é¡ºå©çè¿è¡å¹¶åç¡®çå¤çç¨æ·ç请æ±ï¼å须对æ使ç¨çæå¡å¨è¿
è¡å¿
è¦ç设置ã
é
ç½®ï¼æ ¹æ®æ使ç¨çæå¡å¨ç±»å以åå®ç设置æCGIç¨åºæ¾å¨æä¸
ç¹å®çç®å½ä¸æ使å
¶å¸¦æç¹å®çæ©å±åã
â´CRENæ ¼å¼æå¡å¨çé
ç½®ï¼
ç¼è¾CRENæ ¼å¼æå¡å¨çé
ç½®æ件é常为/etc/httpd.conf/
å¨æ件ä¸å å
¥ï¼Exec cgi-bin/*/home/www/cgi-bin/*.exec
å½ä»¤ä¸åºç°ç第ä¸ä¸ªåæ°cgi-bin/*æåºäºå¨URLä¸åºç°çç®å½
ååï¼å¹¶è¡¨ç¤ºå®åº
ç°å¨ç³»ç»ä¸»æºåç第ä¸ä¸ªç®å½ä¸ï¼å¦ï¼
http://edgar.stern.nyn.edu/cgi-bin/å½ä»¤ä¸ç第äºä¸ªåæ°è¡¨ç¤ºCGIç¨åºç®å½æ¾å¨ç³»ç»ä¸ççå®è·¯å¾ã
CGIç®å½é¤äºå¯ä»¥ç¹ç½ç»æ件æ¾å¨åä¸ç®å½ä¸ï¼ä¹å¯ä»¥æ¾å¨ç³»ç»
çå
¶å®ç®å½ä¸ï¼ä½å¿
é¡»ä¿è¯å¨ä½ çç³»ç»ä¸ä¹å
·æåæ ·çç®å½ãå¨
对æå¡å¨å®æ设置åï¼é¡»éæ°å¯å¨æå¡å¨ï¼é¤éHTTPæå¡å¨æ¯ç¨
inetdå¯å¨çï¼ã
âµNCSAæ ¼å¼æå¡å¨çé
ç½®
å¨NCSAæ ¼å¼æå¡å¨ä¸æ两ç§æ¹æ³è¿è¡è®¾ç½®ï¼
â å¨srm.confæ件ï¼é常å¨confç®å½ä¸ï¼ä¸å å
¥ï¼
Script Alias/cgi-bin/cgi-bin/
Script Aliaså½ä»¤æåºæä¸ç®å½ä¸çæ件æ¯å¯æ§è¡ç¨åºï¼ä¸è¿
个å½ä»¤æ¯ç¨æ¥æ§è¡
è¿äºç¨åºçï¼æ¤å½ä»¤ç两个åæ°ä¸CERNæ ¼å¼æå¡å¨ä¸çExecå½
令çåæ°çå«æä¸æ ·ã
â¡å¨srm.confæ件å å
¥ï¼
Add type application/x-httpd-cgi.cgi
æ¤å½ä»¤è¡¨ç¤ºå¨æå¡å¨ä¸å¢å äºä¸ç§æ°çæ件类åï¼å
¶å第ä¸ä¸ª
åæ°ä¸ºCGIç¨åºçMIMEç±»åï¼ç¬¬äºä¸ªåæ°æ¯æ件çæ©å±åï¼è¡¨
示以è¿ä¸æ©å±å为æ©å±åçæ件æ¯CGIç¨åºã
å¨ç¨ä¸è¿°æ¹æ³ä¹ä¸è®¾ç½®æå¡å¨åï¼é½å¾éæ°å¯å¨æå¡å¨ï¼é¤é
HTTPæå¡å¨æ¯ç¨inetdå¯å¨çï¼ã