-
REST API 정리DEV/other things 2022. 4. 7. 17:46
개발 문서를 읽거나 면접 단골 질문 등등...
REST에 대한 글, 문서, 질문 등을 자주 접하게 된다.
나도 사실 들어만 보고 정확한 개념에 대해 잘 모르고 있던 부분이다.
그래서 읽고 최대한 간단하게 정리했다.
간단하게 정리된 만큼 해당 글은 가볍게 읽어보는 것으로 만족하고
정확하고 자세한 내용(REST의 특징 등...)은 Reference를 참고하자.
REST...?
HTTP 주요 저자 중 한명인 로이 필딩(Roy Fielding)가 발표한 아키텍처.
잘 설계된 HTTP를 제대로 활용되지 못하는 모습을 보고 설계하게 되었다고 한다.
자원을 정의하고 자원에 대한 주소를 지정(자원데 대한 표현 방식)하는 방법 전반을 일컫는다.
HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation(Create, Read, Update, Delete)을 적용하는 것
기존 HTTP 프로토콜을 그대로 활용하여 웹의 장점을 최대한 활용하는 아키텍처 스타일이다.
짧은 결론 : REST는 자원 기반으로 구조를 설계하고 HTTP Method를 통해 자원을 처리함
REST 구성 요소
- 자원(Resource) : URI
- 모든 자원에는 고유한 ID가 존재함.
- ID는 '/groups/group_id' 와 같은 HTTP URI임.
- Client는 URI를 이용하여 자원을 지정하고 해당 자원에 대한 조작을 Server에 요청함.
- 행위(Verb) : HTTP Method
- HTTP 프로토콜의 Method를 사용함.
- GET, POST, PUT, DELETE
- HTTP 프로토콜의 Method를 사용함.
- 표현(Representation of Resource)
- Client가 자원에 대한 조작을 요청하면 Server는 이에 대한 적절한 응답(Representation)을 보냄.
- REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태로 표현될 수 있음.
- 일반적으로 JSON 또는 XML을 통해 데이터를 주고 받음.
Reference
1. https://meetup.toast.com/posts/92
2. https://ko.wikipedia.org/wiki/REST
3. https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
'DEV > other things' 카테고리의 다른 글
Git 터미널(콘솔) 에서 git pull(update) 받기 (0) 2023.01.10 Zendesk 기능 메모 (0) 2022.10.29 M1 Mac 젠데스크(Zendesk) 다운로드 (0) 2022.02.23 jQuery 다운로드 및 사용 방법 (0) 2022.02.11 Mac OS VSCode / Git 다운로드 및 설정 (0) 2022.02.09 - 자원(Resource) : URI