-
RESTful APIJavascript/Node.js 2020. 1. 22. 11:00
REST API
REpresentational State Transfer의 약어이다. 네트워크 구조의 한 형식으로 서버의 자원을 정의하고, 자원에 대한 주소를 지정하는 방법을 제시한다. 주소는 의미를 명확히 전달하기 위해 명사로 구성된다. (ex. /users, /sports ..)
주소 외에도 HTTP request method를 사용한다. GET, POST, PUT, DELETE, PATCH 다섯 가지 메서드를 사용한다. 이렇게 주소와 메소드만 보고 요청의 내용을 명확하게 알 수 있다는 장점이 있다. 또한, GET 메소드 같은 경우 브라우저에서 캐싱할 수도 있어서 같은 주소의 GET 요청을 할 때 서버가 아닌 캐시에서 가져올 수 있다. 그리고 HTTP 프로토콜을 사용한다면 클라이언트가 어떤 플랫폼이던 소통할 수 있다.
REST 제약 조건
Uniform : URI로 지정한 리소스의 조작을 통일되고 한정적인 인터페이스로 수행한다.
Stateless : 작업의 상태정보를 따로 저장하거나 관리하지 않는다. 단순히 요청만을 처리한다.
Cacheable : HTTP가 가진 캐싱 기능을 사용할 수 있다.
Self-descriptiveness : 메세지만 보고도 목적을 쉽게 이해할 수 있다.
Client-server 구조 : 서버는 API 제공, 클라이언트는 요청하는 역할로 각자 독립적으로 분리한다.
계층형 구조 : 다중 계층으로 구성할 수 있으며, 암호화 계층이나 로드 밸런싱과 같은 계층을 추가할 수 있다.
URI vs URL
URI는 인터넷 상에서 자원을 나타내는 유일한 주소이며, URL은 네트워크 상에서 자원의 위치를 알려주는 일종의 규약이다. URI는 URL을 포함하는 개념이다.
'Javascript > Node.js' 카테고리의 다른 글
middleware (0) 2020.01.22 express (0) 2020.01.22 npm (0) 2020.01.21 cookie & session (0) 2020.01.21 Node.js 란? (0) 2020.01.21