보안 문제로 apache에서 사용 가능한 method를 제한 해야 하는 경우가 있다...
보통 허용하는 method는 아래와 같다 GET, POST, HEAD
각 메소드별 내용은 아래와 같다
GET - 지정된 URL 정보를 요청한다.(이때 전달해야 하는 파라메터를 URL에 포함시켜서 전달한다.)
POST - 지정된 URL 정보를 요청한다. (이때 전달해야 하는 파라메터를 메시지 본문(Request Message Body)을 통해서 전달한다.)
HEAD - HTTP Header 정보만 요청한다.
TRACE - 클라이언트의 요청을 그대로 응답한다. (Request의 Loop Back 테스트)
DELETE - 요청하는 URL의 자원을 삭제한다.
OPTIONS - 응답 가능한(서버에서 지원하는) HTTP 메소드를 요청
PUT - 요청하는 URL의 자원을 생성한다. 예를 들면 파일 업로드가 가능하다.
CONNECT - 터널링의 목적으로 연결 요청
** HTTP 버전별 지원 Method **
HTTP/0.9 - GET
HTTP/1.0 - GET, POST, HEAD
HTTP/1.1 - GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, CONNECT
# 아파치는 서버 전체에는 옵션을 줄 수 없습니다. 해당 디렉터 별로 각각 설정하셔야 합니다.
<Directory /home>
<Limit PUT DELETE OPTIONS>
Order allow,deny
Allow from all
</Limit>
</Directory>
또는
<Directory /home>
<LimitExcept GET POST>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
다 열고 특정 Method를 설정하거나 (PUT, DELETE, OPTIONS)
다 막고 허용할Method를 설정하거나, (GET, POST)
WAS도 사용하는 경우 WAS도 설정을 진행 해야 한다.(혹은 WAS로의 직접 접근을 막아도 된다)