login register Sysop! about ME  

2016년 09월 06일 19시 29분 00초,     조회수 : 2690
  제목 : HTTP 동사와 WebDAV 문제
SEQ : 1662 글쓴이 : hskim618

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

HTTP 동사에는 GET과 POST 뿐만 아니라 PUT, DELETE 등의 동사도 있습니다.
하지만 PUT과 DELETE는 웹이 생긴 이래 거의 15년간은 별로 사용되지 않았습니다.
그래서 보안 강화를 위해 웹서버나 웹방화벽에서 GET과 POST만 허용하기도 했었습니다.

지금은 Rest 스타일의 Web API가 많이 사용되고 있어서 PUT과 DELETE도 많이 사용하게 되었습니다.
그런데 ASP.NET으로 Web API를 만들어 서버에 배포했는데 PUT이 안 되는 경우가 있습니다.
PUT으로 호출한 경우 405 에러가 발생하지요..

검색해 보니 WebDAV 모듈과의 충돌로 발생하는 문제라고 합니다.
http://www.asp.net/web-api/overview/testing-and-debugging/troubleshooting-http-405-errors-after-
publishing-web-api-applications

WebDAV는 HTTP로 파일을 업로드할 수 있는 HTTP 확장 규약입니다.
WebDAV가 기능 확장을 위해 HTTP 동사를 7개 추가하는데요..
이 과정에서 설정이 충돌나는 경우가 있다고 하네요.

이 문제를 해결하려면 web.config에 다음과 같이 등록해서
WebDAV를 사용하지 않게 만들면 됩니다.

<configuration>
    <system.webServer>
        <modules>
	       <remove name="WebDAVModule" />
        </modules>
    </system.webServer>
</configuration>

이상입니다. ^^
도움이 되었으면 좋겠네요.. 

  monarch7
  2016-10-05(22:11)
캐릭 이미지
요즘 레스트 한 작업을 안해서 PUT, PATCH, DELETE 를 잊고있었네요 ㅡ_ㅡ;
기억이 맞다면 클라이언트쪽에서는 브라우저나 HTML 버젼이 낮아서 PUT, DELETE 가 지
원이 안되는경우 <input type="hidden" name="_method" value="put" /> 히든으
로 설정했었는데 서버측에서는 저런 설정이 필요했었군요...

  taeyo
  2017-10-24(03:57)
캐릭 이미지
굿팁이네요!


제목 작성자 날짜 조회
HTTP 동사와 WebDAV 문제 (2) hskim618 2016-09-06 2690

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})