programing

REST와 웹 서비스의 차이점

newstyles 2023. 8. 17. 20:59

REST와 웹 서비스의 차이점

REST와 웹 서비스(SOAP)의 차이점은 무엇입니까, 페이스북 API를 살펴보니 HTTP 헤더와 일부 매개 변수(아마 xml 또는 비xml)를 사용하고 결과를 xml로 반환합니다. 그렇지 않으면 SOAP는 HTTP 헤더 + xml 매개 변수와 동일하게 수행하고 헤더 + xml을 반환합니다.

또한 REST에는 인증된 토큰이 필요하지만 SOAP에서는 인증 및 기타 정보에 사용되는 토큰과 정확히 동일한 http 세션을 사용합니다.SOAP가 REST의 약간 고급 버전이라는 것을 알 수 있는 것이 전부입니까?

아니면 다른 성능 고려 사항이 있습니까?REST에 대해 읽는 것은 매우 높은 수준의 클라이언트 서버 통신을 말하는 것에 불과하지만 SOAP도 마찬가지입니다.REST와 SOAP의 정확한 경계를 정의할 수 있는 곳을 알려줄 수 있는 사람이 있습니까?

우리는 .net에서 많은 SOAP를 투명하게 사용하지만, 저는 단지 현재 모든 것이 눈에 띄게 원활하게 진행되고 있는 REST에 정말로 관심을 기울일 가치가 있는지 알고 싶습니다.

저는 REST가 아키텍처이고 SOAP가 프로토콜이라는 것을 알고 있지만, 제 질문은 현재 ASP입니다.SOAP의 NET 웹 서비스 구현에 REST 아키텍처가 있습니까?

SOAP는 HTTP를 통해 XML로 데이터를 전송/수신하는 프로토콜입니다.

일반적인 웹 서비스는 호출 방법을 설명하는 WSDL의 몇 가지 방법입니다.이러한 구조화 방법에 대한 실제 규칙은 없으므로 항상 많은 API 문서가 필요합니다.

일반적으로 (ASP의 경우)와 같습니다.NET):

  • HTTPPOSTto mysite.com/products.asmx/ListAllProducts - 제품의 XML 목록을 반환합니다.
  • HTTPPOSTto mysite.com/products.asmx/GetProduct - 게시된 콘텐츠의 SOAP XML을 기반으로 제품의 XML을 반환합니다.
  • HTTPPOSTto mysite.com/products.asmx/UpdateProduct - 게시된 콘텐츠에서 SOAP XML을 기반으로 제품을 변경합니다.

REST는 모든 방법을 구성하기 위한 관습에 더 가깝습니다.

  • HTTPGETfrom mysite.com/products - 모든 제품을 나열하는 XML 또는 JSON을 반환합니다.
  • HTTPGETfrom mysite.com/products/14 - 제품 14에 대한 XML 또는 JSON을 반환합니다.
  • HTTPPOSTto mysite.com/products/14 - 제품 14를 HTML 양식에 게시한 내용으로 변경합니다.
  • HTTPDELETEto mysite.com/products/14 - 제품 14 제거
  • HTTPPUTto mysite.com/products - 새 제품 추가

따라서 REST는 브라우저 URL이 예상하는 것보다 더 잘 작동합니다.그런 식으로 하면 더 자연스럽고 관습적으로 이해하기가 훨씬 쉽습니다.모든 REST API는 유사한 방식으로 작동하므로 각 시스템의 특성을 학습하는 데 오랜 시간이 걸리지 않습니다.

RESTful 접근 방식을 사용하여 구현된 서비스는 접근성 측면에서 SOAP 또는 RPC를 사용하는 서비스를 능가합니다.WSDL을 기반으로 스텁과 타이를 생성하기 위해 툴링을 사용할 수 있는 비교적 폐쇄적인 시스템에서는 이것이 크게 중요하지 않습니다.그러나 광범위한 고객이 액세스하고 사용할 수 있는 서비스를 만들고자 하는 경우 REST 서비스의 균일성과 이를 사용할 수 있는 편의성이 큰 이점이 됩니다. 즉, HTTP 요청을 수행할 수 있는 기능만 있으면 RPC 스택이 많이 필요하지 않습니다.

이것이 당신의 질문에 완전히 답인지는 모르겠지만, 당신이 말한 것처럼, 당신이 SOAP를 기반으로 작동하는 시스템이 있다면(그리고 당신이 클라이언트와 서버를 제어한다면), 나는 변경할 이유가 없다고 생각합니다.게다가, 일부 서비스는 자연스럽게 RPC 기반 액세스에 더 많은 도움을 줄 것이며, 이 경우 SOAP 인터페이스가 더 적합할 것입니다.

성능 면에서 SOAP를 사용하지 않으면 클라이언트 및 서버 기술 스택에서 하나 이상의 계층이 효과적으로 제거되므로 다른 모든 것이 동일한 경우 RESTful 인터페이스를 노출하는 서비스가 여기서 승리합니다.

언급URL : https://stackoverflow.com/questions/1443160/difference-between-rest-and-webservices