[CS]RESTful API란

건너별·2021년 11월 22일
0

Computer Science

목록 보기
3/13

API란?

  • Application Programming Interface
  • 컴퓨터 키보드와 같이, 특정 버튼을 누르면 입력을 통해 호출되고, 생산자는 응답하는 시스템
  • 사용자 또는 클라이언트, 그리고 사용자와 클라이언트가 얻으려 하는 리소스 사이의 조정자
  • 애플리케이션 소프트웨어를 구축하고 통합하는 정의 및 프로토콜(규약) 세트
  • 정보 제공자와 정보 사용자 간의 계약

ex) 날씨 서비스용 API :

  • 사용자는 우편번호 입력을 통해 호출
  • 생산자는 날씨 장보로 응답

REST란?


[https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html]

  • REST : Representational State Transfer의 줄임말

  • 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미

  • 즉, CRUD(Create, Read, Update, Delete) 연산을 수행하기 위해 요청을 보내는 것

  • 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일

  • 표준이 존재하지 않음

  • 앱 분리 및 통합, 다양한 클라이언트 등장으로 요즘 더 필요함

  • SERVER-CLIENT 구조
    - 자원이 있는 쪽이 SERVER, 요청하는 쪽이 CLIENT

REST 구성요소

자원 : URI

- 모든 자원에는 고유 ID가 존재하고, 자원은 서버 내에 존재
- 이 자원을 구별하는 ID가 HTTP URI
- 클라이언트를 URI 를 이용해서 자원을 지정하고 해당 자원의 상태에 대한 조작을 SERVER에 요청!

행위(Verb)

- HTTP Method 에서 제공하는 GET,POST,PUT,DELETE 등

표현(Representation of Resource)

- Client가 자원의 상태에 대한 조작을 요청하면 SERVER는 적절한 응답(Representation)을 보냄
- 하나의 자원에 대한 응답은 JSON, XML, TEXT, RSS 등 여러 형태가 될 수 있음
- JSON 혹은 XML이 가장 일반적인 방식!

HTTP

  • HTML 문서를 주고받는 데에 쓰이는 웹 프로토콜.
  • GET, POST, PUT, DELETE 와 같은 메서드를 제공
  • www에서 정보를 주고받는 데에 쓰임

REST API 기본규칙

  • URI는 정보의 자원을 표현
  • 자원에 대한 행위는 HTTP Method(GET,PUT,POST,DELETE)로 표현
  • 슬래시(/)는 계층 관계를 나타내는 데 이용
    ex) http://restapi.example.com/houses/apartments https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

REST api 설계 예시

RESTful API란

  • REST 기반으로 API 구현한 것
  • Open API나, 마이크로 서비스를 제공하는 업체는 거의 다 REST API를 사용
  • RESTful이란, 이해하기 쉽고 사용하기 쉬운 'REST스러운' API를 지칭한다고 말할 수 있다.

장점

  • 유지보수 및 운용이 편리함
  • HTTP 표준을 기반으로 구현하므로, HTTP 지원하는 프로그램 언어로 클러이언트, 서버를 구현 가능
  • 자바, C#, 웹 등으로 클라이언트 제작 가능

마이크로 서비스

  • 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍처

Reference

profile
romantic ai developer

0개의 댓글