안녕하세요 :) 현업 개발자의 블로그 입니다. 질문 환영해요.

궁금한 소프트웨어 기술을 말씀 해주시면, 성심 성의껏 알려드립니다.

통신/API

Rest API 와 Restful API

Admin_This_Project 2023. 8. 18. 14:13

 



REST API 란 ?

 
REST는 웹 아키텍처의 일부로 HTTP 프로토콜을 기반으로 자원을 고유한 URI로 표현하고, HTTP 메서드를 사용하여 상태를 전달하며, 클라이언트와 서버 간의 무상태성을 유지하면서 상호 작용하는 아키텍처 스타일입니다.

일반적으로 REST API는 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 자원을 다루는 웹 API를 의미합니다. REST 아키텍처 스타일은 HTTP의 기본적인 메서드를 활용하여 데이터의 조회, 생성, 업데이트, 삭제 등의 작업을 수행합니다. 

  • GET
    - 자원의 조회를 요청할 때 사용합니다. 서버는 해당 자원을 응답으로 제공합니다.

  • POST
    - 새로운 자원을 생성하거나 데이터를 처리하기 위해 사용합니다. 요청 본문에 데이터를 담아서 서버에 전송합니다.

  • PUT
    - 기존 자원을 업데이트하거나 새로운 자원을 생성할 때 사용합니다. 요청 본문에 업데이트할 데이터를 담아서 서버에 전송합니다.

  • DELETE
    - 자원을 삭제할 때 사용합니다. 서버는 해당 자원을 삭제하고 응답을 제공합니다.




RESTful API란?

 
RESTful API란 REST API와 같이 HTTP 메서드를 사용하며, REST API를 엄격하게 관리하는 아키텍쳐 스타일 입니다. 즉, 관리자에 의해 특정한 규격내에서 관리가 되어 개발되는 REST API를 RESTful API 아키텍쳐로 볼 수 있습니다. RESTful API를 위한 엄격한 관리에 대한 내용은 어떤것이 있는지 작성해보겠습니다.

  • URI 구성
    - RESTful API는 명확하고 일관된 URI 구조를 갖추려고 노력합니다. 자원의 계층 구조를 잘 표현하여 의미 있는 URI를 사용합니다.

  • HTTP 메서드 사용
    - RESTful API는 각각의 HTTP 메서드(GET, POST, PUT, DELETE 등)를 엄격하게 해당 작업에 맞게 사용합니다. 예를 들어, 조회 작업은 GET을 사용하고, 업데이트 작업은 PUT을 사용합니다.

  • 상태 전달
    - RESTful API는 상태 전달을 엄격하게 따릅니다. 상태 정보는 요청의 일부로 전달되어야 하며, 클라이언트나 서버는 상태를 따로 기억하지 않습니다.

  • 자체 표현 (Self-Descriptiveness)
    - RESTful API는 리소스 자체가 리소스의 상태와 관련된 정보를 포함하는 방식으로 자체 표현이 가능해야 합니다.
  • 캐싱 제어
    - RESTful API는 HTTP의 캐싱 메커니즘을 이용하여 캐싱을 관리하고 제어합니다.

  • 클라이언트-서버 분리
    - RESTful API는 클라이언트와 서버의 역할을 명확하게 분리하여 시스템의 확장성과 유연성을 높이려고 노력합니다.

  • 계층화 (Layered System)
    - RESTful API는 중간 서버나 프록시를 통해 아키텍처를 계층화할 수 있는 구조를 지향합니다.
 

728x90

'통신 > API' 카테고리의 다른 글

프로그래밍 언어별 Restful API 지원 FrameWork  (0) 2023.09.04
API의 아키텍쳐 스타일  (0) 2023.08.18
API의 종류  (0) 2023.08.18