본문 바로가기

Web

[Web] API & REST API & RESTful API 알아보기

🔍 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