👨💻 REST(=RESTful)란? - Representational State Transfer의 약자 - REST(2000) 논문에 나온 제약조건을 모두 지킨 소프트웨어를 말합니다. - 로이필딩과 REST가 탄생한 과거를 안다면, REST와 RESTful은 반드시 동이어이다.
👨💻 REST가 탄생하기 전, 세상에는 이런 문제가 있었다. - 어떻게 인터넷에서 정보를 공유할 것인가?
👨💻 그것을 고민한 끝에 내린 결론.. - 정보를 하이퍼텍스트로 연결하면 될 것이다.
그리고 인터넷 정보들은 하이퍼텍스트로 연결되기 시작했다. 그러던 중.. HTTP(하이퍼텍스트 전송 프로토콜)을 만들던 개발진 중에 '로이필딩'이라는 대학원생이 있었다. 그는 이런 고민을 했다."어캐하면 웹을 망가뜨리지 않고 HTTP를 진보시킬 수 있을까?" 그 고민 끝에 REST(2000)라는 논문을 발표한다. 바로 이 논문에 오늘의 주제인 REST에 대한 비법이 담겨있다.
월드 와이드 웹(WWW) 의 핵심 마크업 언어인 HTML가 근래 HTML5로 버전이 업그레이드 되었다. 그렇다고 하더라도 기존의 웹사이트에서 에러가 나지 않는다. 그렇다. REST는 매우 성공한 것이다.
👨💻 REST를 안다는 것은 무엇인가?
- REST란 REST(2000) 논문에 나온 제약조건을 모두 지킨 소프트웨어를 의미한다. 즉, 우리가 REST를 진짜 안다고 말하기 위해서는.. REST의 제약조건을 숙지하고 있어야 한다는 의미다. 다 외우긴 좀 그렇고.. 누가 물어보면 핵심적인 것만 대답하면 된다. 실무에서는 그냥 REST 제약조건을 문서로 출력한 후 보면서 작업한다 :)
👨💻 REST의 제약조건은 무엇인가?
- 정보 식별자로 URL을 사용한다. - HTML으로 정보를 표현한다. - 정보를 전송방법으로 HTTP라는 프로토콜을 사용하자!
- HATEOS (하이퍼미디어를 통한 어플리케이션의 전이) - uniform interface