타닥타닥 개발자의 일상

REST vs RESTFUL 는 무엇인가? 둘의 미묘한 차이점 본문

코딩 기록/유용한 IT 팁

REST vs RESTFUL 는 무엇인가? 둘의 미묘한 차이점

NomadHaven 2024. 3. 3. 16:19

REST(Representational State Transfer)와 RESTful은 웹 서비스 아키텍처를 설계하는 데 사용되는 용어로, 서로 유사하지만 약간의 차이가 있다.

REST(Representational State Transfer)

-정의:  REST는 자원(URI), 행위(HTTP 메서드), 표현(Representations)으로 구성된 아키텍처적인 스타일
- 특징:
  1. 자원은 URI로 표현되며, 각 자원은 고유한 식별자를 보유
  2. 행위는 HTTP 메서드(GET, POST, PUT, DELETE)를 이용하여 수행.
  3. 표현은 클라이언트가 자원의 상태를 나타내는 방식.




RESTful:
- 정의: RESTful은 REST 아키텍처를 따르는 웹 서비스다. 즉, REST 원칙을 준수하여 구현된 웹 서비스를 RESTful이라고 한다.
- 특징:
  1. REST의 원칙을 따르며, 자원, 행위, 표현을 활용합니다.
  2. URI는 명사(자원)를 사용하고, HTTP 메서드는 동사(행위)를 나타냅니다.
  3. 클라이언트와 서버 간의 상태는 필요 없고, 요청이 완전히 독립적입니다.

 




REST와 RESTful의 차이:

REST는 아키텍처 스타일을 나타내는 개념이고, RESTful은 이를 실제로 구현한 웹 서비스를 의미.

RESTful은 REST 원칙을 따르지만, 엄격한 규칙을 따르지 않을 수도 있다.

- REST:
  - 단순한 서비스나 작은 규모의 프로젝트에서 사용할 때 간편하게 적용.
  - 표준에 엄격하게 따를 필요가 없거나, 서비스의 요구사항이 RESTful을 엄격히 따르지 않아도 되는 경우에 사용.

- RESTful:
  - 대규모의 복잡한 프로젝트나 기업 수준의 서비스에서 사용.
  - 표준화된 URI 및 HTTP 메서드 사용으로 인해 간편하게 개발 및 유지보수가 가능.
  - 자체적으로 규칙을 가지고 있어 개발자들 사이의 협업이 용이.

종합적으로, 간단한 서비스에서는 REST를 적용하여 빠르게 개발할 수 있고, 대규모이거나 표준화가 필요한 프로젝트에서는 RESTful을 적용하여 일관성 있고 효율적인 웹 서비스를 구현.

Comments