백엔드 서버와 프런트엔드 서버가 따로 있다면 REST API를 많이 사용할 거라 생각합니다.

이 때, API는 알겠는데, REST가 뭘까라는 생각이 들 수 있을 것 같습니다.

저역시 그랬었고, REST API에 대한 개념을 알고자 글을 작성하게 되었습니다.

 

REST란?

자원을 이름으로 구분하여 처리한다 것을 의미합니다.

즉, REST는 다음과 같은 과정을 거치게 됩니다.

  • HTTP URI를 통해 자원을 식별하고,
  • HTTP Method를 통해,
  • 해당 자원에 대한 CURD 동작

REST 특징

  • Server-Client(서버-클라이언트 구조): 요청을 하는 클라이언트와 요청을 처리하는 서버 구조
  • Stateless(무상태): 클라이언트 상태를 서버에 저장하지 않음
  • Cachealbe(캐시 가능): HTTP가 가진 특징 중 하나인 캐싱 기능 적용 가능
  • Layered System(계층화): REST API 서버는 다중 계층으로 구성 가능
  • Uniform Interface(인터페이스 일관성): 자원 접근 방식의 일관성 및 자원 조작 방법은 자원의 표현에 독립적

REST API란?

REST API는 이러한 REST을 기반으로 한 API 입니다.

REST API 설계 규칙

  • URI는 슬래시 구분자(/)로 계층 관계 표현
  • URI 마지막에 슬래시(/)를 포함하지 않음
  • 긴 URI에 대한 가독성은 하이픈(-)을 사용
  • URI는 소문자만 사용
  • URI에 파일 확장자를 포함하지 않음
  • URI는 동사보다 명사를 사용
  • 자원에 대한 행위는 HTTP Method로 표현

RESTful이란?

REST API 설계 규칙을 잘 따르는 것을 RESTful하다라고 합니다.

RESTful한 API를 구현하는 것의 목적은 일관적인 컨벤션을 통한 API의 이해도 및 호환성을 높이는 것이기 때문에, 성능이 중요한 상황에서는 REST API 설계 규칙을 모두 따를 필요는 없다고 합니다.

'채워가는 지식 > 네트워크' 카테고리의 다른 글

프락시  (0) 2024.02.15
STOMP 웹소켓 프로그래밍  (0) 2024.02.15
웹 서버  (0) 2023.12.29
커넥션  (0) 2023.12.20
HTTP 메시지  (0) 2023.12.18

+ Recent posts