마스크는 답답하다

REST (Representational State Transfer)

 

REST란 Server-Client 구조 중 하나로 리소스를 이름으로 구분하여 해당 리소스의 상태를 주고받는 모든 것을 의미한다.

HTTP URI를 통하여 자원을 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.

 

REST는 3가지로 구성이 되어있다.

  • 자원(Resource) : HTTP URI
  • 자원에 대한 행위 : HTTP Method (POST, GET, PATCH, DELETE 등)
  • 자원에 대한 행위의 내용 : HTTP Message Pay Load

 

REST 방식의 장단점

 

장점

  • HTTP프로토콜의 인프라를 그대로 사용하기 때문에 REST API를 위한 별도의 인프라를 구축할 필요가 없음
  • HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있게 해줌
  • HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능
  • REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악할 수 있음
  • 서버와 클라이언트의 역할을 명확하게 분리

단점

  • 표준이 자체가 존재하지 않아 정의가 필요
  • HTTP Method 형태가 제한적

REST API

 

REST API란 위에 설명한 REST를 기반으로 API를 구현한 것을 의미한다

 

REST API 설계 규칙

  • URI는 동사보다는 명사, 대문자보다는 소문자를 사용
  • 슬래시(/)는 계층 관계를 나타내는데 사용하며, URI 마지막 문자로 슬래시를 사용하지 않아야 함
  • 언더바(_) 대신 하이픈(-)을 사용
  • 파일확장자는 URI에서 제외
  • URI에 행위에 대한 동사 표현을 사용하지 않아야 함

RESTful

 

RESTful이란 REST 아키텍쳐를 가진 시스템을 의미한다.

하지만 REST를 사용했다고 해서 모두 RESTful한 것이 아닌 REST API의 설계 규칙을 준수한 시스템

RESTful 하다고 말할 수 있다.

'Computer Science > Network' 카테고리의 다른 글

Context Switching (컨텍스트 스위칭)  (0) 2023.04.30
AOP  (0) 2023.04.26
CORS (Cross-Origin Resource Sharing)  (0) 2023.04.23
3-Way-Hadshake / 4-Way-Handshake  (0) 2023.04.22
DNS (Domain Name System)  (0) 2023.04.22

검색 태그