본문 바로가기

Knowledge

[Knowledge] REST / REST API / RESTful

반응형

들어가기 전

REST, REST API, RESTful API의 특징들과 차이점에 대해서 알아보고자 한다.


본문

1. REST 란?

  • 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처이다.
  • HTTP URI( Uniform Resource Identifier )를 통해 자원(Resource)를 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
  • JSON, XML, TEXT, RSS 등 여러 형태의 Representation으로 나타내어 질 수 있다.
  • Server-Cilent 구조이다. 자원이 있는 쪽이 Server, 자원을 요청하는 쪽이 Client이다.
  • Stateless(무상태)성을 갖는다.

2. REST API 란?

  • REST 아키텍처 원칙을 따르는 웹  API이다. 즉, REST 기반으로 서비스 API를 구현한 것. REST API는 클라이언트와 서버 간의 통신을 단순화하고 표준화된 방법으로 자원에 접근할 수 있도록 한다.
  • HTTP 메서드를 사용한다. (GET: 정보 요청(조회), POST: 정보 생성, PUT: 정보 수정(전체), PATCH: 정보 수정(일부), DELETE: 정보 삭제)
  • 자원의 URL로 식별한다. 각 자원은 고유한 URL을 통해 식별되며, 이 URL을 통해 자원에 접근하고 조작할 수 있다.

2.1 REST API 설계 기본 규칙

  • URL은 명사를 사용해야 한다.
  • URL 경로는 소문자를 사용해야 한다.
  • 언더바(_)는 사용하지 않으며 하이픈(-)을 사용한다.
  • 슬래시(/)로 계층 관계를 표현하고, URL 마지막은 슬래시(/)를 사용하지 않는다.
  • 파일 확장자는 포함하지 않는다. ex) O = http://example/test, X = http://example/test.jsp

 

3. RESTful

  • REST 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어이다. REST API를 제공하는 웹 서비스를 RESTful하다고 할 수 있다.

마무리

URI: 통합 자원 식별자로 인터넷에 있는 자원을 나타내는 유일한 주소이다. 식별자
URL: 식별자+위치
URL과 헷갈릴 수 있는데 간단하게 생각하면 example.co.kr 은 리소스 이름만 나타내기 때문에 URI이고, https://example.co.kr은 URL이라고 할 수 있다.
CRUD Operation
- Create: 생성(POST)
- Read: 조회(GET)
- Update: 수정(PUT)
- Delete: 삭제(DELETE)
- HEAD: header 정보 조회(HEAD)

 

 

반응형