RESTful하다란?

정승렬·2023년 4월 7일
0

기술면접

목록 보기
30/38

RESTful하다란?

  • 각 메소드의 기능은 이미 HTTP 메소드에서 정의 되어 있다.

설계 방식

  • 객체명이 URI에 포함된다면 가급적이면 복수를 써야한다.
  • 슬래시 (/)를 통하여 계층관계를 표시하는 것.
  • 명사로 URI를 구성해야 한다
  • 파일 확장자는 URI에 포함하지 않는다
  • URI는 호스트를 제외한 나머지 모든 요소에서 소문자를 사용하는 것을 권장
  • 여러 리소스들의 집합을 의미하는 컬렉션의 경우 복수형태(-s) 사용을 권장하고 있으며, 각 리소스들은 단수를 사용
  • 언더스코어(_) 사용 자제
  • 파일 확장자는 URI에 미포함

REST 아키텍처에 적용되는 6가지 제한 조건

  1. 인터페이스 일관성 : 일관적인 인터페이스로 분리되어야 한다

  2. 무상태(Stateless): 각 요청 간 클라이언트의 콘텍스트서버에 저장되어서는 안 된다

  3. 캐시 처리 가능(Cacheable): WWW에서와 같이 클라이언트는 응답을 캐싱할 수 있어야 한다.
    : 잘 관리되는 캐싱은 클라이언트-서버 간 상호작용을 부분적으로 또는 완전하게 제거하여 scalability와 성능을 향상시킨다.

  4. 계층화(Layered System): 클라이언트는 보통 대상 서버에 직접 연결되었는지, 또는 중간 서버를 통해 연결되었는지를 알 수 없다. 중간 서버는 로드 밸런싱 기능이나 공유 캐시 기능제공함으로써 시스템 규모 확장성을 향상시키는 데 유용하다.

  5. Code on demand (optional) - 자바 애플릿이나 자바스크립트의 제공을 통해 서버는 클라이언트가 실행시킬 수 있는 로직을 전송하여 기능을 확장시킬 수 있다.

  6. 클라이언트/서버 구조 : 아키텍처를 단순화시키고 작은 단위로 분리(decouple)함으로써 클라이언트-서버의 각 파트가 독립적으로 개선될 수 있도록 해준다.

0개의 댓글