[architecture] REST와 RESTful의 차이점은 무엇입니까

REST 시스템과 RESTful 시스템의 차이점은 무엇입니까?

내가 가장 많이 읽은 몇 가지 사항에서 REST 서비스는 실제로 RESTful 서비스입니다. 두 가지의 차이점은 무엇입니까?



답변

REST (Representational State Transfer) 는 소프트웨어 아키텍처 스타일입니다. Roy Fielding의 논문에서 설명했듯이 REST는 기본적으로 웹의 기존 기술과 프로토콜을 활용하는 “아키텍처 스타일”입니다.

RESTful은 일반적으로 이러한 아키텍처를 구현하는 웹 서비스를 나타내는 데 사용됩니다.


답변

REST 기반 서비스 / 아키텍처 및 RESTFUL 서비스 / 아키텍처

이 2를 구별하거나 비교하려면 REST 가 무엇인지 알아야합니다 .

REST는 ( RE 표상 S 탓에 T 를 ransfer) 기본적으로 개발 몇 가지 원칙을 갖는 건축 스타일 :

  • 무국적이어야한다

  • URI 만 사용하여 서버에서 모든 리소스에 액세스해야합니다.

  • 내장 암호화가 없습니다.

  • 세션이 없습니다

  • 하나의 프로토콜 만 사용합니다-HTTP

  • CRUD 작업을 수행하기 위해, 이러한 동사 HTTP를 사용해야하는 등 get, post, putdelete

  • JSON 또는 XML, atom, OData 등의 형식으로 만 결과를 리턴해야합니다 (경량 데이터).

REST based services 위의 원칙 중 일부를 따르십시오.

RESTFUL services 위의 모든 원칙을 준수한다는 의미입니다.

다음과 같은 개념과 유사합니다.

Object-based languages모든 OOP 개념, 예제 지원 : C ++, C #

Object oriented languages죄송 기능의 일부를 지원 자바 스크립트, VB를 :


:

ASP Dot NET MVC 4는 REST-BasedMicrosoft WEB API가있는 동안입니다 RESTFul.

MVC는 위의 REST 원칙 중 일부만 지원하는 반면 WEB API는 위의 모든 REST 원칙을 지원합니다.

MVC는 REST API에서만 다음을 지원합니다.

  • URI를 사용하여 리소스에 액세스 할 수 있습니다

  • 서버에서 리소스에 액세스하기 위해 HTTP 동사를 지원합니다.

  • 결과는 JSON, XML 형식 (HTTPResponse)으로 결과를 리턴 할 수 있습니다.

그러나 MVC에서 동시에

  • 우리는 세션을 사용할 수 있습니다

  • 우리는 그것을 stateful로 만들 수 있습니다

  • 기본적으로 REST 원칙을 위반하는 컨트롤러 작업 방법에서 비디오 또는 이미지를 반환 할 수 있습니다.

그렇기 때문에 MVC는 REST-BasedWEB API가 위의 모든 원칙을 지원하고 있습니다 RESTFul.


답변

“REST”는 건축 패러다임입니다. “RESTful”은 해당 패러다임 사용을 설명합니다.


답변

Jason이 의견에서 말했듯이 RESTful은 REST 제약 조건을 존중하는 것을 형용사로 사용합니다.


답변

REST는 표현 상태 전송을 나타냅니다. 그것은 국가 자체가 이전되는 것이 아니라 단지 국가의 표현이라는 것을 의미합니다. 가장 일반적인 예는 순수한 HTML 서버 기반 앱입니다 (자바 스크립트 없음). 브라우저는 응용 프로그램 자체에 대해서는 아무것도 모르지만 링크와 리소스를 통해 서버는 응용 프로그램의 상태를 브라우저로 전송할 수 있습니다. 일반 Windows 응용 프로그램에서 단추가 일반적으로 상태 변수 (예 : 페이지 열기)를 변경하는 경우 브라우저에는 해당 상태 변경을 나타내는 링크가 있습니다.

아이디어는 하이퍼 미디어를 사용하는 것입니다. 그리고 아마도 새로운 하이퍼 미디어 유형을 만들 수도 있습니다. 잠재적으로 우리는 javascript / AJAX로 브라우저를 확장하고 새로운 사용자 정의 하이퍼 미디어 유형을 만들 수 있습니다. 그리고 우리는 진정한 REST 애플리케이션을 가질 것입니다.

이것은 REST의 약자 인 짧은 버전입니다. 문제는 구현하기 어렵다는 것입니다. REST 원칙을 참조하고 싶을 때 개인적으로 RESTful이라고 말하지만 실제로 REST의 전체 개념을 구현하고 있지는 않습니다. 우리는 SOAPful을 사용하지 않기 때문에 실제로 SOAPful을 말하지 않습니다. 필자는 대부분의 사람들이 개발자 Roy Fielding이 계획 한 방식으로 REST를 수행하지 않는다고 생각합니다. 실제로 RESTful 또는 RESTlike 아키텍처를 구현합니다. 그의 논문을 볼 수 있으며 REST 약어는 있지만 RESTful이라는 단어는 없습니다.


답변

REST는 분산 소프트웨어를위한 소프트웨어 아키텍처 스타일입니다.

REST 제약 조건을 준수하는 것을 ‘RESTful’이라고합니다.

오늘날 SOAP에 대한 대안으로 웹 서비스를 구축하는 데 사용됩니다.

여기에 확인할 링크가 있습니다

http://en.wikipedia.org/wiki/Representational_State_Transfer
http://www.computerworld.com/s/article/297424/Representational_State_Transfer_REST_
http://www.ibm.com/developerworks/webservices/library/ws-restful/


답변

답변 주셔서 감사합니다. Alex Rodriguez 의이 기사 를 읽으십시오 . RESTful 웹 서비스에는 다음과 같은 4 가지 기본 특성이 있습니다.

  1. HTTP 메소드를 명시 적으로 사용하십시오.
  2. 무국적자가 되십시오.
  3. 디렉토리 구조와 유사한 URI를 노출하십시오.
  4. XML, JSON (JavaScript Object Notation) 또는 둘 다를 전송하십시오.