2017-02-05 1 views
0

웹 API와 RESTful 서비스의 차이점에 대해 질문을 받았으며 이는 나에게도 흥미로운 질문이다. 필자가 생각하기에 RESTful 서비스와 웹 API 간의 유일한 차이점은 RESTful 서비스는 본질적으로 stateless (쿠키를 사용할 수는 있지만)라는 개념으로 간주 될 수있다. 본질적으로 stateless가 아닌 개념은 웹 API에는 적용되지 않는다 우리는 세션을 사용할 수 있기 때문에 (RESTful 서비스에서는 사용할 수 없다).웹 API와 RESTful 서비스

그러나이 두 가지 기술을 서로 구별하는 다른 잠재적 인 차이가 있는지 확인하기 위해이 질문을 게시하기로 결정했습니다.

답변

5

프로그래밍 프레임 워크와 디자인 패러다임을 비교하고 있습니다. 그것은 공정한 비교가 아닙니다.

웹 API는 웹 서비스 응용 프로그램 프레임 워크입니다. 을 사용하여 REST API를 구현할 수 있지만 에는이 없습니다. RPC 스타일의 서비스를 작성하거나 실제로 HTTP를 말하지만 REST 원칙을 준수하지 않는 (엄격하게) 모든 종류의 애플리케이션을 작성할 수 있습니다.

+0

네, 맞아 보이지만 웹 API (세션/쿠키를 본질적으로 지원하므로)를 작성하는 RESTful 인터페이스가 반드시 상태 비 저장 일 필요는 없다고 생각합니까? – Arrrr

+0

[번호 세션과 같은 상태를 사용하자마자 더 이상 REST 서비스가 없습니다.] (http://stackoverflow.com/questions/6068113/do-sessions-really-violate-restfulness). – CodeCaster

+0

자, 결론은 디자인 컨셉을 개발 환경과 섞어서는 안된다는 것입니다. :) – Arrrr

2

REST는 아키텍처 스타일에 불과합니다. 프로토콜이나 프레임 워크가 아닙니다. 많은 프레임 워크와 프로그래밍 언어를 사용하여 RESTful 서비스를 구현할 수있다. 웹 API는 .NET 용으로 하나뿐입니다.

RESTful 서비스는 상태가없는 것이 사실입니다.

  • 클라이언트 - 서버
  • 상태 비
  • 캐시
  • 통일 인터페이스
  • 계층화 시스템
  • 코드 주문형
: 여기 주요 REST 제약의 목록입니다

REST 아키텍처에 대한 자세한 내용은 Roy Fielding의 ' 이 link 아래의 간행물.

다시 생각해 보면 REST 아키텍처 스타일의 규칙을 따른 경우에만 웹 API 프레임 워크를 사용하여 RESTful 서비스를 구현할 수 있습니다.