728x90
반응형
API란 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)의 약자로, 응용프로그램에서 데이터를 주고 받기 위한 방법을 의미한다.
즉, API는 데이터를 공유할 때의 Reqeust와 Response에 대한 규격이다.
그렇다면 REST API는 무엇일까.
REST API는 REST를 기반으로 만들어진 API이다. 그렇기 때문에 REST API를 이해하기 위해서는 REST가 무엇인가에 대해 먼저 알아보아야한다.
REST는 Representational State Transfer의 약자로 데이터를 이름으로 구분하여 데이터의 상태를 주고받는 것을 의미한다. REST는 다음과 같은 요소를 가지고 CRUD operation을 수행한다.
- HTTP URI(Uniform Resource Identifier)
- HTTP Method: POST, GET, PUT, DELETE
- HTTP Message Pay Load
※ CRUD operation: Create, Read, Update, Delete
REST의 특징으로는 다음과 같은 것들이 있다.
- Server-Client 구조
- Stateless
- Cacheable
- Layered System
- Uniform Interface
REST의 장단점으로는 다음과 같은 것들이 있다.
장점
- HTTP 프로토콜의 인프라를 그대로 사용한다. -> 별도의 인프라 구축이 필요없다.
- HTTP 프로토콜의 표준을 최대한 활용하여 추가적인 장점을 꾀한다.
- HTTP 표준 프로토콜을 따르는 모든 곳에서 사용이 가능하다.
- 메시지가 의도하는 바를 명확하게 나타내어 의도를 쉽게 파악할 수 있다.
단점
- 표준이 없다.
- 사용할 수 있는 메소드가 POST, GET, UPDATE, DELETE 4가지 밖에 없다.
REST API는 REST의 원리를 따르는 API이다.
REST API를 설계하는 데에는 규칙이 있다.
- 동사보다는 명사를, 대문자보다는 소문자를 사용한다.
e.g., http://danpung2.com/Running -> http://danpung2.com/run
- 마지막에 슬래시를 포함하지 않는다.
e.g., http://danpung2.com/run/ -> http://danpung2.com/run
- 언더바 대신 하이픈을 사용한다.
e.g., http://danpung_2.com/run -> http://danpung-2.com/run
- 파일확장자는 URI에 포함하지 않는다.
e.g., http://danpung2.com/photo.jpg -> http://danpung2.com/photo
- 행위는 URI에 포함하지 않는다.
e.g., http://danpung2.com/delete-post/1 -> http://danpung2.com/post/1
Reference
728x90
반응형
'웹, 앱' 카테고리의 다른 글
[Jenkins] Linux-centOS7에 젠킨스 설치 및 초기 설정 (0) | 2022.08.29 |
---|---|
[웹서버] 라즈베리파이 서버 구축 A to Z (3) - Tomcat 설치 및 설정 (0) | 2022.08.03 |
[웹서버] 라즈베리파이 서버 구축 A to Z (2) - Nginx 설치 및 설정 (0) | 2022.08.03 |
[웹서버] 라즈베리파이 서버 구축 A to Z (1) - 라즈베리파이 설정 (0) | 2022.07.26 |
[스프링부트] 어노테이션(Annotation) 정리 (0) | 2022.06.25 |