용어 정리

REST API와 Restful API, CORS

haedal-uni 2021. 11. 11. 16:08
728x90

Rest API와 Restful API 차이점

Rest API란

REST 기반으로 서비스 API를 구현한 것

 

REST란 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미

API란 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며,

서로 정보를 교환가능 하도록 하는 것

 

REST의 6가지 규칙을 잘 지켜서 설계된 API를 RESTful API

 

 

 

 

 

REST 규칙

 

Uniform Interface

일관성있는 인터페이스로 URI로 지정한 자원에 대한 조작을 통일되고

한정적인 인터페이스로 수행하는 아키텍처 스타일

Client-Server

자원이 있는 쪽이 서버, 자원을 요청하는 쪽이 클라이언트로 클라이언트-서버 구조를 갖는다.

Stateless

클라이언트의 세션과 쿠키같은 context를 서버에 저장하지 않으므로 서버 구현이 단순해진다.

(클라이언트에 저장 - 쿠기, 서버에 저장 - 세션)

Cacheable

응답시간이 빨라지고 트랜잭션이 발생하지 않아 대용량 요청을 효율적으로 처리

* 캐시 : 자주 사용하는 문서의 사본을 자동으로 보관하여 웹 요청이 캐시에 도착할 때

로컬 사본이 존재하면 문서가 서버쪽이 아닌 캐시로부터 제공된다.

 

Layered System

클라이언트와 서버가 분리되어 중간에 프록시 서버, 로드 밸런싱, 암호화 계층 등 중간매체를 사용해

자유도를 높일 수 있다.

Self-Descriptiveness

JSON형태의 메시지를 통해 내용을 직관적으로 이해할 수 있다.


 

 

 

Restful API 와 CORS

ex) 기상청에서 제공하는 공공데이터 RESTful API 서버에 날씨 data를 요청하고 받아와

날씨 정보 UI 를 보여주는 Web App 을 개발한다고 가정

 

기상청 API 의 도메인이 www.weather.co.kr 이라고 가정하고,
호스팅되고 있는 우리의 Client 페이지의 도메인은 myApp.netlify.com 이라고 가정

이제 기상청 API 에 날씨 data를 요청해야 하지만 우리 Client 페이지와 기상청 API 가 다른 도메인을 가지고 있다.

 

Client 의 입장에서 도메인이 다른 Web Server 에 data, 즉 resource 를 요청하는 것.

그 것을 바로 교차 출처 요청 (Cross Origin Request) 라고 한다.

 

Resource의 주체인 Web server (API) 입장에서 그 요청을 허용하거나 거절하는 것을

CORS (Cross Origin Request Share) 라고 볼 수 있다.

 

프론트 페이지 테스트

 

CORS 설정은 default 로 거절되어 있으며 이를 승인하려면 Server 에 직접 허용 설정을 넣어줘야 한다.

 

 

 

* 서버리스 백엔드

 

 

 

https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

https://velog.io/@whoyoung90/RESTful-API%EB%9E%80

jason_sj, <의외로 간단한 CORS>            

[ Network ] REST란? / Rest API와 Restful API의 차이점 / REST 규칙

 

728x90

'용어 정리' 카테고리의 다른 글

Layered Architecture, DI 흐름 이해하기  (0) 2021.11.13
DTO, VO, Entity  (0) 2021.11.12
DI이란  (0) 2021.11.11
다형성, 상속, 생성자  (0) 2021.11.11
Spring이란  (0) 2021.11.11