개발관련-이것저것
Web API
모데라투스
2019. 1. 8. 17:11
- 웹서비스를 개발하는 방식으로 최근 각광을 받고 있는 기술 중의 하나로 RESTful Web Service
- NET에서 RESTful Web Service를 개발하는 방식으로는 WCF REST 혹은 ASP.NET WebAPI 가 일반적
- 웹서비스를 이용하는 클라이언트가 동일한 도메인 하에 있는 다른 Web Site 혹은 다른 Web Service 이라면 REST API 호출에 문제가 없다
- 다른 도메인에 있는 웹사이트의 웹페이지에서 AJAX로 REST 웹서비스를 호출할 경우 Same-orgin policy 에 위반되기 때문에 문제가 발생
- (the same-origin policy is an important concept in the web application security model)
- Origin 은 URL scheme, hoste name, port 번호로 정의된다.
- The concept of same-origin policy dates back to Netscape Navigator 2 in 1995. The policy was originally designed to protect access to the Document Object Model, but has since been broadened to protect sensitive parts of the global JavaScript object
- REST API 개발시 CORS(Cross Origin Resource Sharing)를 Enable 해주는 코드를 별도 넣어 주어야 한다.
- WebAPI에서 이러한 기능을 편리하게 코딩하기 위해서 ASP.NET Web API Cross-Orgin Resource Sharing NuGet 패키지 활용
- Same Origin Policy는 웹브라우져의 Security Feature이므로, 만약 클라이언트가 Desktop이거나 모바일 Native App인 경우 이러한 제약을 받지 않는다. 예를 들어, WebClient, HttpWebRequest, HttpClient 같은 .NET의 HTTP API들을 사용하여 직접 REST API를 호출하는WinForm Application의 경우, 별도의 RESP API CORS 코딩 없이 REST 서비스를 제공