REST API란?
먼저 WEB을 보자
-> 어떻게 인터넷에서 정보를 공유 할 것인가?
표현방식 : HTML 식별자: URL 전송방법: HTTP
그렇다면
How do i improve HTTP without breaking the Web??
Salesforce가 최초로 API를 공개 (2000년 2월)
-SOAP 조금 김
4년후에 Flickr API를 발표
-REST 짧음
SOAP은 복잡하고 규칙많고 어렵다.
REST는 단순하고 짧고 쉽다.
AWS는 REST API가 85%넘는다.
Salesforce도 REST API를 제공하기 시작함
이렇게 REST API의 세상이 펼쳐지기 시작하는것으로 보였으나
No REST in CMIS (2008년) 라고 REST API를 만든사람이 REST API가 아니라고 말한다.
MS의 REST API 가이드라인(2016)을 보고 REST API를 만든사람이 REST API가 아니라고 말한다.
REST를 구성하는 스타일
총 6가지의 스타일로 되어있다.
uniform interface란?
self-descriptive messages란?
HATEOAS란?
애플리케이션 상태의 전이가 있어야한다.
REST의 목적중의 하나인 독립적 진화
HTML5첫 초안에서 권고안 나오는데까지 6년
HTTP/1.1명세 개정판 작업하는데 7년
이분들의 노력으로 웹은 위와 같은 현상을 유지한다.
상호운용성에 대한 집착
웹은 독립적진화를 위해서.. 엄청난 노력을 함 상호운용성에 목숨을 걸었구나 웹은 !!
그렇다면 실제로 REST가 웹의 독립적 진화에 도움을 주었나??
그렇다면 REST API는 어떠한가.?
꼭 REST를 따라야하나??
그럼 이제 어떻게 할까?
1번. REST API를 구현한다.
2번. REST API구현을 포기하고 HTTP API라고 부른다.
3번. REST API가 아니지만 REST API라고 부른다.
현재 거의 모든 API는 3번이다.
Roy T.Fielding는 말합니다. 제발 제약 조건을 따르던지 아니면 다른 단어를 써라
data로 표현하거나 HTTP헤더를 이용하거나 기타 등등으로도 JSON API를 해결할 수 있다.
Media type를 꼭 등록해야하나?