이젠 안다고 해야 할 지식!!!!
REST API란 무엇인가요? RESTful API는 또 뭘까요??
REST란?
REST( Representational State Transfer)의 약자입니다.
REST는 웹의 아키텍처 원칙 중 하나로, 자원을 URI(주소) 로 표현하고,
HTTP 메서드(GET, POST, PUT, DELETE 등) 를 사용해 자원의 상태를 주고받는 구조입니다.
즉, URI로 자원을 식별하고, HTTP로 자원의 상태를 주고받는 방식입니다.
REST의 핵심 원칙
- 서버-클라이언트 구조 (Server-Client)
- 역할을 분리해서 클라이언트는 요청만!!, 서버는 응답만!!
- 리소스 (Resources)
- URI로 식별할 수 있는 모든 것이 리소스!
- 표현 (Representation)
- 리소스의 상태를 다양한 형식(JSON, XML 등)으로 표현
- 무상태성 (Stateless)
- 서버는 요청 간의 상태를 기억하지 않음
- ex) 클라이언트가 요청마다 토큰(JWT 등)을 보내야 인증 가능
- 계층화 구조 (Layered System)
- 서버는 여러 계층으로 구성될 수 있고, 클라이언트는 그 구조를 몰라도 됨
- ex) 클라이언트 > 로드밸런스 > 인증 서버 > api 서버 ( 중간에 뭐가 있든 클라이언트는 요청하면 끝!)
- 캐시 처리 (Cacheable)
- 응답에 따라 클라이언트나 프록시에서 캐시 저장 가능
RESTful API란?
REST API도 충분해 보이는데… RESTful API는 또 뭘까요???
RESTful 이란 REST의 원칙을 잘 따르며, 제약 조건을 최대한 준수하는 API를 의미한다.
단순히 REST 스타일을 사용한다고 해서 모두가 RESTful 한 건 아니다.
구분 | 설명 |
REST API | REST 아키텍처를 기반으로 만들어진 API |
RESTful API | REST의 제약 조건을 철저히 지켜 설계된 API |
즉, 모든 RESTful API는 REST API 지만, 모든 REST API가 RESTful 한 건 아니다.
그래서 RESTful하다는 것은 단순히 동작하는 API를 넘어서, REST 철학에 맞게 잘 설계되었는지를 판단하는 기준이 된다.
'네트워크' 카테고리의 다른 글
HTTP와 HTTPS의 차이점은 뭘까? (0) | 2025.03.11 |
---|---|
OSI 7계층과 TCP/IP 4계층 정리 (0) | 2025.02.24 |
[네트워크] 내 마음대로 네트워크 cs 정리 ① (0) | 2024.06.12 |