Html Post 형식으로 데이터를 날렸더니 405 에러가 났습니다.
같은 도메인에 다른 사이트(가상 디렉터리나 응용 프로그램 등을 추가했을 때 )로 넘기면 405 에러가 난다는 겁니다.
IIS 기본설정이 그렇게 돼 있기 때문에 수정하면 된다는데...
대표적인 수정방법은 아래와 같습니다.
참고 : somacon - How to Resolve an HTTP 405 Resource not allowed Error in IIS
IIS7을 기준으로 보면
IIS > 설정할 웹사이트 > 기능 보기 > 처리기 매핑
로 들어가서
오른쪽 위에 작업에 있는 추가 메뉴 중 한 개를 선택하여 추가하시면 됩니다.
그전에 오류 내용을 확인해 봅시다.
오류를 준 처리기가 'StaticFile'입니다,.
이제 '처리기 맵핑'에서 'StaticFile'를 찾아 수정해 봅시다.
그래도 여전히 오류가 납니다.
에러 내용을 보면 '405'에러입니다.
기본적으로 405 에러는 파일 자체는 찾았는데 처리가 안 되서(프로토콜 같은 문제들)로 인해 뜨는 것입니다.
그런데 'html post'데이터에 url의 마지막에 슬러시가 빠져있다는 지적을 받고 설마 했는데......
됩니다!
원래 url에서 맨 마지막 슬러시 문제는 별 의미가 없습니다.
특수한 경우가 아니라면 자동으로 처리되기 때문입니다.
혹시나 라우팅 테이블 문제인가 해서 수정해 보았지만 똑같이 '405'에러가 났습니다.
('ASP.NET MVC'에서는 주소 라우팅에서 'id'값을 받게 되어있는 게 기본이라 그것 때문인가 해서 빼고 테스트해봤지만 마찬가지-_-;;;;)
원래 마지막 슬러시 때문에 에러가 난 것이라면 '404'에러가 떠야 맞는 겁니다.
결국 처리기 자체가 마지막 슬러시가 있어야 post 데이터를 정상적으로 인식한다는 소리입니다.
결론은 html로 포스트 데이터 날릴 때는 마지막에 슬러시 꼭 넣는 걸로 ㅎㅎㅎ
이걸로 2일 잡아먹음.....