2019. 12. 4. 01:09ㆍJavaScript
REST: 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나
- HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미
- REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악
- 서버와 클라이언트의 역할을 명확하게 분리
- 사용할 수 있는 메소드가 4가지로 제한적
- 구형브라우저에서는 지원되지 않음(PUT, DELETE, pushState)
REST 구성요소: 자원, 행위, 표현
1. 자원(Resource) : URI
- 모든 자원은 고유한 ID를 갖고있고, 이 자원은 서버에 존재한다
- 자원을 구별하는 ID는 HTTP URI이고, 그 형식은 /groups/:group_id 이다.
- 클라이언트는 URI를 이용해서 자원을 선택하고, 그 자원 정보를 서버에 요청한다.
2. 행위(Verb) : HTTP Method(POST, GET, PUT,DELETE) [자세히보기]
- POST: Create
- GET: read
- PUT: update / replace
- DELETE: delete
3. 표현(Representation of Resource)
- 클라이언트가 요청을 보내면, 서버는 이에 적절한 응답(Representation)을 보낸다.
- 자원의 형태는 JSON, XML, TEXT, RSS 등 다양하다. JSON이나 XML이 일반적이다.
REST 특징
1. 서버-클라이언트 구조
2. Stateless : HTTP프로토콜은 Stateless 프로토콜이므로, REST 역시 이를 따른다.
3. Cacheable : 캐싱 기능을 적용할 수 있다. 캐시를 사용함으로써 응답시간이 빨라지고 REST server transaction이 발생하지 않기 때문에 전체 응답시간, 성능, 서버의 자원 이용률을 향상시킬 수 있다.
4. Layered System(계층화):
- 클라이언트는 REST API 서버만 호출한다.
- REST 서버는 다중계층으로 구성될 수 있다.
5. Uniform Interface(인터페이스 일관성): URI로 지정한 자원에 대한 조작을 통일되고 한정적인 인터페이스로 수행한다. HTTP 표준 프로토콜을 따르는 모든 플랫폼에서 사용이 가능하며, 특정 언어나 기술이 종속되지 않는다.
API(Application Programming Interface): 컴퓨터 프로그램간 상호작용을 촉진하고 서로 정보를 교환가능하도록 하는 것. 이를 위해 데이터와 기능의 집합을 제공한다.
REST API: REST 기반으로 서비스 API를 구현한 것
- 최근 open API나 마이크로서비스 등을 제공하는 업체 대부분은 REST API를 제공한다.
- 예를 들어 구글맵, 공공데이터, 애플리케이션 아키텍처 등
- 참고자료:
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
'JavaScript' 카테고리의 다른 글
자바스크립트 querySelector, querySelectorAll 차이 (0) | 2019.12.25 |
---|---|
classList toggle (0) | 2019.12.21 |
자바스크립트 플러그인 종류 몇개 (0) | 2019.12.03 |
웹브라우저 크기 (0) | 2019.12.01 |
padding, margin 차이 (0) | 2019.12.01 |