Apache HTTP Server Version 2.4
아파치 모듈 mod_actions
설명: | 이 모듈은 미디어종류나 요청메서드에 따라 CGI 스크립트를 실행한다. |
---|---|
상태: | Base |
모듈명: | actions_module |
소스파일: | mod_actions.c |
요약
이 모듈에는 두가지 지시어가 있다. Action
지시어는 요청하는
파일의 MIME content type에 따라 CGI 스크립트를 실행한다.
Script
지시어는
요청이 특정 메서드를 사용할 경우 CGI 스크립트를 실행한다.
그래서 파일을 처리하는 스크립트를 매우 쉽게 실행할 수 있다.
Action 지시어
설명: | 특정 핸들러나 content-type에 대해 CGI 스크립트를 사용한다 |
---|---|
문법: | Action action-type cgi-script [virtual] |
사용장소: | 주서버설정, 가상호스트, directory, .htaccess |
Override 옵션: | FileInfo |
상태: | Base |
모듈: | mod_actions |
지원: | virtual 수정자와 핸들러는 아파치
2.1때 추가되었다 |
이 지시어는 요청이 action-type이면
cgi-script를 실행하는 행동을 서버에 추가한다.
cgi-script는 ScriptAlias
나 AddHandler
를 사용하여 CGI
스크립트로 지정한 리소스의 URL경로이다.
action-type에는 핸들러나 MIME content type을
사용할 수 있다. 이 지시어는 PATH_INFO
와
PATH_TRANSLATED
CGI 표준 환경변수로 요청한
문서의 URL과 파일경로를 전달한다. REDIRECT_HANDLER
변수로 특정 요청에 사용할 핸들러를 전달한다.
예제
# 특정 MIME content type의 파일 요청:
Action image/gif /cgi-bin/images.cgi
# 특정한 확장자를 가진 파일
AddHandler my-file-type .xyz
Action my-file-type /cgi-bin/program.cgi
첫번째 예에서 MIME content type이 image/gif
인
파일을 요청하면 지정한 cgi 스크립트 /cgi-bin/images.cgi
가
처리한다.
두번째 예에서 확장자가 .xyz
인 파일을 요청하면
지정한 cgi 스크립트 /cgi-bin/program.cgi
가
처리한다.
In the second example, requests for files with a file extension of
.xyz
are handled instead by the specified cgi script
/cgi-bin/program.cgi
.
선택적인 virtual
수정자는 요청한 파일이
실제로 존재하는지 검사하지 않도록 한다. 예를 들어, 가상의
위치에 Action
지시어를 사용하려는
경우 유용하다.
예제
<Location /news>
SetHandler news-handler
Action news-handler /cgi-bin/news.cgi virtual
</Location>
참고
Script 지시어
설명: | 특정 요청메서드에 대해 CGI 스크립트를 사용한다. |
---|---|
문법: | Script method cgi-script |
사용장소: | 주서버설정, 가상호스트, directory |
상태: | Base |
모듈: | mod_actions |
이 지시어는 파일을 method 메서드를 사용하여
요청하면 cgi-script를 실행하는 행동을 서버에
추가한다. cgi-script는 ScriptAlias
나 AddHandler
를 사용하여 CGI
스크립트로 지정한 리소스의 URL경로이다. 이 지시어는
PATH_INFO
와 PATH_TRANSLATED
CGI
표준 환경변수로 요청한 문서의 URL과 파일경로를 전달한다.
Script PUT
과
Script put
은 완전히 다르다.
Script
명령어는 기본적인 행동만을
처리함을 주의하라. CGI 스크립트가 불리거나, 요청한 메서드를
알아서 처리할 수 있는 리소스의 경우 그대로 처리한다.
GET
메서드의 Script
는
질의아규먼트가 있을때만 (예, foo.html?hi) 사용함을
주의하라. 질의아규먼트가 없다면 정상적으로 요청을 처리한다.
예제
# <ISINDEX>식 검색을 위해
Script GET /cgi-bin/search
# CGI PUT 핸들러
Script PUT /~bob/put.cgi