API (Application Programming Interface)
애플리케이션에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
즉, 컴퓨터나 소프트웨어끼리 데이터를 주고 받는 인터페이스이다.
HTTP API
HTTP라는 통신 규칙으로 소통하는 API이다.
잠깐 HTTP를 사용하지 않는 API도 있나?!
인터넷을 사용하지 않는 시스템끼리 통신할 때는 HTTP API를 사용하지 않는다.
REST API (Representational State Transfer)
REST를 준수해 만든 API
- REST 구성
(1) 자원 (Resource) - URI
(2) 행위 (Verb) - HTTP Method
(3) 표현 (Representations)
REST란 웹의 장점을 최대한 활용할 수 있는 네트워크 아키텍처 스타일
네트워크 자원을 (1) 정의하고 (2) 처리하는 방법 전반을 일컫는다.
URI로 자원을 표현하는 데에 집중하고, 자원을 처리하는 방법에 대한 정의는 HTTP Method로 하는 것이 REST 한 API를 설계하는 중심 규칙!
REST API 디자인 가이드
1) URI로 자원(리소스)을 표현 (리소스명은 동사보다는 명사를 사용)
GET /members/delete/1
위와 같은 방식은 REST를 제대로 적용하지 않은 URI
delete와 같은 행위에 대한 표현이 들어가면 안됨
2) 자원에 대한 행위는 HTTP Method (GET, POST, PUT, DELETE)로 표현된다.
위의 잘못된 URI를 HTTP Method를 통해 수정하면 아래와 같이 수정할 수 있다.
DELETE /members/1
회원정보를 가져올 때는 GET, 회원 추가 시의 행위를 표현하고자 할 때는 POST METHOD를 사용하여 표현합니다.
GET /members/show/1 (x)
GET /members/1 (O) - 회원정보를 가져오는 URI에 적합
GET /members/insert/2 (x) - GET 메서드는 리소스 생성에 맞지 않다
POST /members/2 (O) - 회원을 추가하는 URI에 적합
https://bentist.tistory.com/37
API, HTTP API, REST API 차이
기상청 날씨정보 API, 증권 API, 지도 API 등등 막연하게 API란 단어를 들어왔다. API를 가져다 써, API로 개발한다 등등 개념은 제대로 모르며 사용 해왔기에 이번엔 API에 대해 개념적으로 정리해보고
bentist.tistory.com
'웹기술' 카테고리의 다른 글
나의 REST API 설계 과정 (0) | 2023.07.23 |
---|---|
직렬화와 데이터 형식 (XML, JSON, YAML) (0) | 2023.03.12 |
CORS (0) | 2023.03.07 |
브라우저에 URL을 입력하면 어떤 과정이 진행될까? (0) | 2023.03.04 |