REST Ful에 대해

김창규·2023년 6월 4일
0

제로베이스

목록 보기
9/9

이번 포스팅은 지난 포스팅에서 이야기 했듯이 REST Ful API에 대해 알아보겠다
이를 알기 위해 우선 아래와 같은 목차로 진행하겠다.

  • API란 무엇인가
  • REST란 무엇인가
  • REST와 REST API, REST FUL의 차이
  • 사용이유

API란 무엇인가?

우선 API란 Application Programming Interface의 약자로 한 앱에서 다른 앱으로 정보를 주고받는 방법을 정해둔 것을 의미한다. 예를들어 클라이언트에서

다음과 같이 서버로 데이터를 요청한다고 하면 우리는 서버로 API요청을 보낸 것이고 서버에서는 요청에 맞는 처리를 하는 방법을 사용하여 API요청에 응답을 하여 정보를 제공하는 것이다.

REST란 무엇인가?

REST는 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. 라고 보통 들어가면 설명을 하는데 필자는 이걸 보면서 어찌 이해하고 받아들여야 할지 한참을 고민했었는데 다른거 없이 그저 http요청과 url을 사용하여 자원과 행위를 표현하는 방법이다

  • 자원 : URL
  • 행위 : method(get,post등)
  • 표현 : 클라이언트가 서버로 자원의 행위에 대한 요청을 하고 받는 데이터를 표현한 것을 말함
    (XML,JSON,TEXT,RSS등)

REST 와 REST API차이

이는 위에서 말한 REST의 특징을 살린 API를 의미한다 즉 http 요청을 이용하여 어떤 자원을 어떻게 처리할지에 따라 구현된 API를 REST API라고 한다.

REST FUL은 뭐지?

REST FUL은 우리가 REST API를 잘 지켜서 API를 작성한다면 우리는 그것을 REST FUL하다고 말하는것이다.

그럼 어째서 REST를 사용하는가?

이에 대해서는 장점과 단점으로 간단히 알아보자 우선 장점은

  • http 프로토콜을 사용하는 모든 플랫폼에서 사용가능하다( 폭 넓은 범용성을 가지고 있다 )
  • 위와 같은 이유로 다양한 브라우저, 모바일 등에서 호환성이 좋다
  • 서버와 클라이언트를 확실하게 분리하여 사용 할 수 있다.
  • 행위를 확실학 표현하고 있기 때문에 무엇을 하고자 하는지 한눈에 알기 좋다.
  • 1개의 URL로 4개의 행위를 표현할 수 있어서 자원을 아낄 수 있다.
  • stateLess하다(무상태) 즉 서버가 클라이언트의 정보를 저장하지 않고 요청에 대한 응답만을 한다.(필자가 보기에는 이게 가장 중요한 것 같다.)

이제 단점을 알아보자

  • 행위를 표현 할 수 있는 명령어가 get, post, put, delete로 4가지 밖에 없다.
  • 구형 브라우저에서 호환이 되지 않아 지원해주지 못하는 동작이 많다.(익스폴로어)

필자가 아는 것은 이정도가 전부인 것 같다.

profile
제로베이스 시작!

0개의 댓글