2012. 11. 14. 20:01

CGI 는 웹서버에서 최경량으로 사용할 수 있또록 만든 서버 언어라고 보면 된다. 


CGI 파일은 일반적인 C언어에 CGI만의 환경변수들을 추가 함으로써 처리가 이뤄지게 된다.


첫째로 CGI 프로그래밍에서 첫번째 규약은 시작이 \n 로 되어야 한다. 그래서 대부분 CGI 파일의 시작은


printf("contents-type \n\n") // 처음 엔터부분

으로 시작하는 경우가 많다.


변수의 전달은 query_string 으로 가져오고  Request_URL 는 주소값 전체가 들어가 있다.


즉 /cgi-bin/test.cgi?aaaa=bbbbb

라고 했을때 

getenv("QUERY_STRING"); 의 결과 값으로 aaaa=bbbbb  가 들어가 있게 되고 

getenv("REQUEST_URL); 의 결과 값으로 /cgi-bin/test.cgi?aaaa=bbbbbb 가 들어가 있게 된다.


여러개의 변수를 저장할때는 & 로 가져오기 때문에

가져올때는 &로 짤라서 써야 한다.

보통 strtok 이나 strstr 의 포인터 값을 이용하여 문자열을 파싱해서 끄게 된다.


p=getenv("QUERT_STRING");

reuslt > aaaa=bbbb&cccc=ddddd



REQUEST_METHOD 는 변조가 불가능한 타입이고 , GET, POST 두개의 값으로 전달 되는 경우가 많다.

Posted by k1rha