면접 준비
REST API vs RESTful API
짱이 되었어
2022. 10. 20. 11:32
API
Application Programming Interface
다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙
REST
Representational State Transfer
API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처
- 자원(Resource): URI
- 행위(Verb): HTTP Method
- 표현(Representations)
- URI와 URL 차이: URI이 더 큰 범위
- URI(Uniform Resource Identifier): 인터넷에 있는 자원을 나타내는 유일한 주소.
- URL(Uniform Resource Location): 네트워크 상에서 자원이 어디 있는지 알려주는 규약.
특징
- Uniform: URI로 지정한 리소스에 대한 조작을 통일화
- Stateless(무상태성): 상태 정보를 따로 저장하고 관리하지 않는다. 서비스 자유도 높아짐.
- Cacheable(캐시가능): HTTP 기존 웹 표준을 그대로 사용하기 때문에 웹에서 사용하는 기존 인프라 그대로 활용 가능.
- Self-descriptiveness(자체 표현 구조): REST API 메시지만 보고도 이를 쉽게 이해할 수 있다.
- Client-Server 구조: 클라이언트와 서버에서 개발해야 할 내용이 명확해지고 서로 간 의존성이 줄어든다.
- 계층형 구조: 다중 계층으로 구성될 수 있으며 보안, 로드 밸런싱 등 구조상의 유연성 둘 수 있다.
RESTful API
6가지 특징에 맞춘 API를 개발하는 것. 굳이 필요는 없다.