🔍 API (Application Programming Interface)
- API는 응용 프로그램 상호작용을 위한 인터페이스로, 소프트웨어 컴포넌트 간의 통신과 데이터 전송을 관리한다.
- API는 서비스 제공자와 서비스 사용자 간의 커뮤니케이션을 위한 규약이며, 서로 다른 소프트웨어 시스템이 상호작용하도록 허용한다.
- API는 표준화되고 문서화된 방법으로 요청과 응답을 처리하며, 개발자들이 해당 API를 사용하여 기능을 활용할 수 있다.
- 구성요소는 엔트포인트, HTTP 메서드, 매개변수, 헤더 등의 요소로 구성된다.
- 주로 JSON 또는 XML 형식으로 데이터를 주고받는다.
🔍 REST API (Representational State Transfer API)
- REST API는 REST 아키텍처 스타일을 따라 설계된 API이다.
- REST API는 자원을 고유한 URI로 표현하고, HTTP 메서드를 사용하여 해당 자원에 대한 작업을 수행한다.
- REST API는 간결하고 가독성이 높으며, HTTP 프로토콜을 이용하여 상태를 관리하지 않는 무상태성(Stateless) 한 특성을 가지고 있다.
- 구성요소로는 자원(Resource), URI(Uniform Resource Identifier), HTTP 메서드, 표현(Representation) 등의 요소로 구성된다.
- HTTP URI를 통해 자원을 명시하고, HTTP Method (POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD OPERATION을 적용하는 것을 의미한다.
- 주로 JSON 형식을 사용하여 데이터를 주고받습니다.
📌 CRUD 방식
GET | Read : 정보 요청, URI가 가진 정보를 검색하기 위해 서버에 요청한다. |
POST | Create : 정보 입력, 클라이언트에서 서버로 전달하려는 정보를 보낸다. |
PUT | Update : 정보 업데이트, 주로 내용을 갱신하기 위해 사용한다. (데이터 전체를 바꿀 때) |
PATCH | Update : 정보 업데이트, 주로 내용을 갱신하기 위해 사용한다. (데이터 일부만 바꿀 때) |
DELETE | Delete : 정보 삭제, (안전성 문제로 대부분 서버에서 비활성화한다.) |
💡 URI / URL 의 차이점
URL은 Uniform Resource Locator로 인터넷 상 자원의 위치를 의미합니다.
반면 URI는 Uniform Resource Identifier로 인터넷 상의 자원을 식별하기 위한 문자열의 구성으로,
URI는 URL을 포함하게 됩니다. URI가 URL보다 포괄적인 범위라고 할 수 있습니다.
🔍 REST API 의 설계 규칙
- URI 는 명사를 사용한다. (특별한 경우는 예외)
- 슬래시( / ) 로 계층 관계를 표현한다.
- URI 마지막 문자에 슬래시( / ) 를 포함하지 않는다.
- 언더바( _ ) 를 사용하지 않고, 하이픈을 ( - ) 사용한다.
- URI 는 소문자로만 구성한다.
🔍 RESTful API
- RESTful 은 REST 의 설계 규칙을 잘지켜서 설계된 API 를 RESTful 한 API 라고 한다.
- 즉, REST의 원리를 잘 따르는 시스템을 RESTful 이라고 말한다.
'Web' 카테고리의 다른 글
[Web] 동기와 비동기 (0) | 2022.09.13 |
---|---|
[Web] Servlet (0) | 2022.05.13 |
[Web] Web Server & WAS & Web Container (0) | 2022.05.13 |
[Web] HTTP & 프로토콜 이란? (0) | 2022.05.12 |
[Web] Servlet & JSP 이란? (0) | 2022.05.12 |