티스토리 뷰
REST란
- HTTP를 잘사용하기 위한 아키텍쳐 스타일이다.
- REST는 URI와 HTTP 메소드를 사용해서 자원과 행위를 표현한다.
- REST의 원칙을 지키면서 API의 의미를 표현하기 쉽고, 파악하기 쉽게 하는 것을 Restful 하다고 한다.
REST API란
- REST한 방식으로 데이터를 상호교환하게 설계된 API를 말한다.
- HTTP를 잘사용하기 위해, URI와 HTTP메소드를 사용해서, URL로 어떤 자원에 접근할 것인지, 메소드로 어떤 행위를 할것인지 표현하여 설계된 API를 말한다.
로이필딩의 논문 Chapter 5.를 보면 REST 제약조건 6가지를 설명한다.
Client-Server
- 클라이언트와 서버를 분리함으로써, 서로 의존하지 않는 구조를 가져야한다.
Stateless
- 요청과 응답이 들어올 때마다, 상대가 누구인지 파악할 수 있어야 한다.
Cache
- 요청에 대한 응답 내의 데이터에 캐시 가능여부가 명시되어 있어야 한다.
Uniform Interface
- 전체 시스템을 파악할 수 있는 인터페이스를 제공해야한다.
Layered System
- 클라이언트는 서버에 직접 연결되었는지, 중간 서버를 통해 연결되었는지 알 수 없어야 한다.
Code-On-Demand(Optional)
- Server에서 보낸 코드를 Client에서 실행할 수 있어야함을 의미한다.
REST API의 장점
보기 좋다.
- URL만 보고 어떤 자원에 접근할 것이닞, 메소드를 보고 어떤 행위를 할 지 알 수 있기 때문에, 개발을 할때 용이하다.
자원을 아낄 수 있다.
- 1개의 URI로 4개의 행위(CRUD)를 명시할 수 있기 때문에, 굉장히 효율적이다.
stateless한 상태를 유지할 수 있다.
- 이게 제일 중요하다.
- REST API의 가장 큰 특징으로, 다양한 브라우저와 모바일에서 통신할 수 있도록 한다.
- 클라이언트가 서버에 종속적이지 않아도 되기 때문에, scale out한 상황에서도 용이하다.
# 정리
RESTful API(=REST API)란,
REST한 방식으로 클라이언트와 서버간 상호 데이터 교환을 하는 API이며, 서로간에 stateless한 특징을 가지는 API이다.
'CS > 컴퓨터네트워크' 카테고리의 다른 글
JWT 토큰에 대해 설명해주세요. (0) | 2023.07.23 |
---|---|
URL과 URI의 차이점을 알려주세요. (0) | 2023.07.23 |
TCP/IP Socket과 WebSocket의 차이점에 대해 설명해주세요. (0) | 2023.07.23 |
CORS에 대해 간단하게 설명해주세요. (0) | 2023.07.23 |
HTTP 요청방법중 GET과 POST에 대해 비교 설명해주세요. (0) | 2023.07.07 |