Computer Science/Web

[Web] REST API

2023. 8. 10. 17:06
목차
  1. REST
  2. 구성요소
  3. 원칙

REST

REST(Representational State Transfer)는 웹 애플리케이션을 위한 아키텍처 스타일 중 하나로, 리소스와 HTTP 메서드를 기반으로 데이터를 관리하는 방법론이다. 따라서 이를 잘 지킨 API를 RESTful한 API라고 한다.

구성요소

  • 자원(Resource)
    • REST는 모든 것을 리소스로 간주하며, 각 리소스는 고유한 식별자인 URI(Uniform Resource Idenficier)를 갖는다.

  • 행위(Verb)
    • HTTP 메서드(GET, POST, PUT, DELETE 등)를 의미

  • 표현(Representation of Resource)
    • 행위의 구체적인 내용

원칙

  • URL는 리소스를 표현
    • URL는 리소스를 나타내는 고유한 경로여야 한다.
    • 리소스를 직관적으로 이해할 수 있는 명사 형태의 단어를 사용하며, 행위를 나타내는 동사는 사용하지 않는다.

  • HTTP 요청 메서드는 행위를 표현
    • HTTP 메서드는 행위의 종류이므로 URL에 직접 노출되어서는 안된다.

  • JSON을 사용한 Payload
    • 요청과 응답의 본문 데이터는 주로 JSON 형식으로 주고 받는다.

  • 리소스 네이밍 규칙
    • 리소스의 이름은 소문자와 단수 명사를 사용하며, Spinal-case(하이픈으로 구분)를 권장한다.

  • HATEOAS 원칙
    • 응답에 다음으로 수행할 수 있는 작업에 대한 링크 정보를 포함하여 클라이언트가 API를 탐색하고 상호작용할 수 있도록 한다.
저작자표시 (새창열림)

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

[Web] OAuth  (0) 2023.08.10
[Web] Web Server와 WAS의 차이  (0) 2023.08.10
[Web] HTTP Request Methods & Status Code  (0) 2023.08.01
[Web] 쿠키 (Cookie) & 세션 (Session)  (0) 2023.07.24
[Web] 브라우저 동작 방법  (0) 2023.07.24
  1. REST
  2. 구성요소
  3. 원칙
'Computer Science/Web' 카테고리의 다른 글
  • [Web] OAuth
  • [Web] Web Server와 WAS의 차이
  • [Web] HTTP Request Methods & Status Code
  • [Web] 쿠키 (Cookie) & 세션 (Session)
dbssk
dbssk
dbssk
K.Back-end
dbssk
  • 분류 전체보기 (220)
    • 끄적 (0)
    • TIL (8)
      • Trouble Shooting (1)
    • Programmers (94)
      • Lv.0 (29)
      • Lv.1 (40)
      • Lv.2 (25)
    • 백준 (15)
    • 구름 (0)
    • Computer Science (79)
      • 컴퓨터 구조 (3)
      • Operating System (18)
      • 알고리즘 (9)
      • 자료구조 (11)
      • Database (10)
      • Network (8)
      • Web (12)
      • Design Pattern (8)
    • Spring (2)
    • Languages (13)
      • Java (13)
    • 북 스터디 (9)
      • 스프링 부트 핵심 가이드 (9)
      • 자바 코딩 인터뷰 완벽 가이드 (0)
    • 프론트엔드 (0)

인기 글

최근 글

태그

  • spring
  • 개발자포트폴리오
  • LV.2
  • 백엔드스쿨
  • 개발자이력서
  • 해시
  • 스택
  • 배열
  • 백준
  • 개발자취업
  • 개발자취준
  • stack
  • hash
  • 코딩테스트
  • 자료구조
  • 백엔드공부
  • 프로그래머스
  • Lv.0
  • LV.1
  • java
hELLO · Designed By 정상우.
dbssk
[Web] REST API
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.