J.Y.S
¿ whats my interest ?
J.Y.S
전체 방문자
오늘
어제
  • 분류 전체보기 (59)
    • 트러블슈팅 기록 (7)
    • Java&Kotlin (5)
    • Server (22)
    • 데이터 엔지니어링 (3)
    • Architecture& Design Patter.. (1)
    • Daily (11)
    • 알고리즘 공부 (9)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
J.Y.S

¿ whats my interest ?

[RESTful] REST API 활용하기 (1) - 개념
Server

[RESTful] REST API 활용하기 (1) - 개념

2021. 1. 18. 06:31

REST api 개념을 정리하고, 이전에 구현한 spring boot 게시판의 코드를 보면서 RESTful하게 적용하고자 한다.

1. REST API

REST 는 Representational State Tranfer의 약자로, HTTP 프로토콜(GET, POST, DELETE 등)의 의도에 맞게 디자인하도록 유도하는 소프트웨어 아키텍처이다. 검색하면 항상 나오는 탄생 배경은 더보기에..↙

더보기
2000년도 아파치 HTTP 서버 프로젝트 공동 설립자인 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개되었다. 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어 지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 한다.
출처 : https://meetup.toast.com/posts/92

REST API - Author: Seobility - License:  CC BY-SA 4.0

API(Application Programming Interface) 는 web 어플리케이션 간 데이터를 주고 받을 수 있게 한다. REST 아키텍셔를 따르는 웹 인터페이스를 REST API 라고 한다. REST API 로 데이터 요청을 하면 기존의 웹 프로토콜인 HTTP 를 통해 이루어진다. 서버 측에서 요청을 받으면 HTML, XML, plaintext, JSON 등 다양한 형태의 포맷으로 메세지 반환이 가능하다.

 

REST API 를 활용하여 웹의 장점을 잘 활용한 서비스를 "RESTful" 하다고 표현하는데, 그러기 위해서는 몇 가지의 규칙이 성립되어야 한다. 규칙들은 아래에 자세히 정리해보았다. 

2. REST API 의 구성

REST API 는 3가지의 요소로 구성된다 - Resource (자원), Verb (행위), Respresentation (표현)

구성 요소 내용 표현 방법
Resource (자원) 자원 HTTP URI
Verb (행위) 자원에 대한 행위 HTTP Method (GET, POST, DELETE ,PUT)
Representation (표현) 자원에 대한 행위, 즉 Verb 에 대한 내용 HTTP Message Payload

참고 : poiemaweb.com/js-rest-api 표

3. REST API 특징

1. client-server architecture

client - server 간 resource 가 존재한다.

2. Stateless

서버에서 세션 정보나 쿠키 정보를 따로 관리하지 않아 API 서버는 들어오는 요청만 처리한다.

3. Cacheable

기존의 웹 표준 HTTP 를 사용하기 때문에 HTTP 가 가진 캐싱 기능이 적용 가능하다.

4. Uniform Interface

어플리케이션에 관계 없이 HTTP URI 로 지정한 리소스에 대한 처리가 통일된 형식으로 이루어진다. REST 의 가장 중요한 특징 ("the central feature")이다.

5. 계층형 구조

client-server 간 각각의 역할이 구분되어 서로간 의존성이 줄어든다.

6. Code on demand (optional)

런타임 중 클라이언트가 실행할 수 있는 코드(ex. JAVA Applets, Javascript..)를 전송함으로써 클라이언트의 기능(functionality) 를 확장할 수 있다.

4. REST API 중심 규칙

1. URI 는 정보의 자원을 표현한다.

Resource 명은 명사를 사용하여 자원을 표현하는데 중점을 두어야 한다.

 

2. Verb, 즉 자원에 대한 행위는 HTTP Method 로 표현한다.

GET, POST, PUT, DELETE 로 자원에 대한 행위를 표현한다.

 

저작자표시 (새창열림)

'Server' 카테고리의 다른 글

node.js 시작하기 (codeanywhere / express)  (0) 2021.02.02
MySQL 서버 타임존 설정  (0) 2021.01.22
[RESTful] REST API 활용하기 (2) - spring-boot 게시판에 적용  (0) 2021.01.21
VRF (Virtual Routing Forwarding) 이란  (0) 2021.01.09
[WAS/WES] Apache Tomcat이란?  (0) 2021.01.06
    'Server' 카테고리의 다른 글
    • MySQL 서버 타임존 설정
    • [RESTful] REST API 활용하기 (2) - spring-boot 게시판에 적용
    • VRF (Virtual Routing Forwarding) 이란
    • [WAS/WES] Apache Tomcat이란?
    J.Y.S
    J.Y.S

    티스토리툴바