태그 보관물: rest

rest

REST 란 무엇입니까 (간단한 영어) [닫기] REST 에서 위키 항목을 읽으려고했지만

최근에 REST에 익숙해지는 데 관심을 갖게되었습니다. REST 에서 위키 항목을 읽으려고했지만 도움이되지 않았습니다. 누군가가 간단한 영어로 설명 할 수 있다면 정말 감사하겠습니다 (즉 불필요한 기술 전문 용어 가없는 것입니다 )

  1. REST 란 무엇인가
  2. 웹 아키텍처 생태계에서 차지하는 위치
  3. 프로토콜과 얼마나 밀접하게 연결되어 있습니까?
  4. REST의 대안은 무엇이며 REST는 이들과 어떻게 비교됩니까?

나는 한두 단락으로 이것에 대답하지 못할 수도 있음을 이해합니다.이 경우 관련 링크가 높이 평가 될 것입니다.



답변

REST 란 무엇입니까 (간단한 영어)

일반 영어 :

재현 : 말하거나 다른 사람을 대신하여 행동의 작용.
상태 전송 : 전송 상태.


인위적인:

  • 우리는 실제 객체를 전송하지 않고 형태로 표현합니다 (예 : 데이터베이스 테이블을 나타내는 xml / json / text).
  • 인터넷에서 공개 API를 노출하여 데이터에 대한 CRUD 작업을 처리하기위한 REST입니다. REST는 일관된 단일 인터페이스를 통해 명명 된 리소스에 액세스하는 데 중점을 둡니다.
  • REST는 일부 매체 유형을 통해 나타냅니다 . 미디어 유형의 예로는 XML, JSON 및 RDF가 있습니다.
  • REST는 사양 또는 표준이 아닌 ROA (Resource-Oriented Architecture)를 위한 아키텍처 스타일입니다 .
  • 건축 스타일은 개념, 이론 (및 구현 방법, 자신에게 달려 있음)을 의미합니다.
  • 모든 것은 고유 한 엔드 포인트로 식별됩니다. 즉, 각 리소스 (데이터)마다 하나의 엔드 포인트가 있습니다.
  • 끝점은 리소스 주소가있는 도메인 이름으로 구성됩니다.

REST 대 SOAP


답변

REST 란 무엇입니까?

대표 상태 이전. 한 시스템이 다른 시스템과 상태를 통신하는 방법을 설명합니다. XML, JSON 또는 일반 텍스트로 표시되는 제품 상태 (이름, 설명 등)가 그 예입니다. 국가의 일반화 된 아이디어를 자원이라고합니다.

웹 아키텍처 생태계에서 어떤 위치를 차지합니까?

HTTP는 지금까지 가장 일반적인 캐리어 프로토콜이므로 REST는 일반적으로 웹 서비스 인터페이스와 연관됩니다. 7 계층 모델에서는 애플리케이션 계층에 존재합니다 . 그러나 다음 섹션을 참조하십시오.

프로토콜과 얼마나 밀접하게 연결되어 있습니까?

REST는 HTTP가 아닙니다. 가장 일반적인 형태의 REST는 기계가 동사의 개념을 임의의 명사 콜렉션에 맵핑하는 데 도움을주기 때문에 HTTP를 사용합니다. HTTP에는 HTTP를 사용하여 URI로 표현 된 임의의 명사에 적용 할 수있는 유용한 일반 동사 (GET, PUT, PATCH 등)가 포함되어 있습니다 (예 : GET http://example.org/Product(54 )).

REST의 대안은 무엇이며 REST는 이들과 어떻게 비교됩니까?

이것은 “내 접근 방식이 얼마나 RESTful 한가?”와 유사합니다. 다음 목록을 사용하십시오 ( Martin Fowler가 설명한 Richardson Maturity Model 에서 요약 ).

레벨 0-POX의 늪

모든 것에 POST를 사용하십시오 (읽기, 쓰기, 삭제). 이것은 SOAP, POX, RPI 등입니다. HTTP를 자신의 프로토콜에 대한 터널로 사용하고 있습니다. 요청 본문의 내용을 기반으로 모든 작업을 수행하는 단일 엔드 포인트를 대상으로합니다.

레벨 1-리소스

모든 것을 위해 POST를 사용하십시오. 특정 사안에 대한 정보를 제공하도록 설계된 여러 엔드 포인트를 대상으로합니다. 방금 리소스를 발견했습니다.

레벨 2-HTTP 동사

리소스에 HTTP 동사를 사용하십시오. 지금 당신은 그것을 얻고 있습니다. POST는 PUT을 덮어 쓰고 사용 가능한 작업에 대한 옵션을 삭제하고 리소스를 삭제하는 것입니다. 이 동사를 사용하면 다른 HTTP 상태 코드 가 더 관련성이 높아지기 시작합니다 (202 ACCEPTED 누구입니까?).

레벨 3-하이퍼 미디어 제어 ( HATEOAS )

이 시점에서 최종 도약을하고 흐름 제어 메커니즘으로 하이퍼 미디어를 소개합니다. REST 클라이언트는 하이퍼 미디어에 대한 일반적인 이해를 넘어서 특정 애플리케이션 또는 서버와 상호 작용하는 방법에 대한 사전 지식이 필요하지 않습니다. 이는 Content-Type 헤더 필드를 통해 HTTP로 전달 될 수 있습니다. 텍스트 형식에는 AtomPub 및 (보다 간결한) HAL 이 포함되며 HyperAudio 는 오디오 스트림에 적합합니다 (SoundCloud 등 참조).


답변

REST는 Representational State Transfer의 약어이지만 다소 직관적 인 인터페이스를 통해 다양한 작업을 수행하는 아이디어를 고려하는 것이 더 쉬울 수 있습니다.

예를 들어, http://www.mysite.com/FindProduct/125/ 와 같은 URL 은 ID가 125 인 제품에 대한 정보를 원하는 사람으로 해석 될 수 있습니다.

REST는 일반적으로 HTTP와 관련하여 생각되지만 위키 백과 참조에 언급 된대로 다른 프로토콜에도 적용 할 수 있습니다.

유용한 REST의 다른 예 :


답변