REST
REST(Representational State Transfer)는 웹 애플리케이션을 위한 아키텍처 스타일 중 하나로, 리소스와 HTTP 메서드를 기반으로 데이터를 관리하는 방법론이다. 따라서 이를 잘 지킨 API를 RESTful한 API라고 한다.
구성요소
- 자원(Resource)
- REST는 모든 것을 리소스로 간주하며, 각 리소스는 고유한 식별자인 URI(Uniform Resource Idenficier)를 갖는다.
- REST는 모든 것을 리소스로 간주하며, 각 리소스는 고유한 식별자인 URI(Uniform Resource Idenficier)를 갖는다.
- 행위(Verb)
- HTTP 메서드(GET, POST, PUT, DELETE 등)를 의미
- HTTP 메서드(GET, POST, PUT, DELETE 등)를 의미
- 표현(Representation of Resource)
- 행위의 구체적인 내용
원칙
- URL는 리소스를 표현
- URL는 리소스를 나타내는 고유한 경로여야 한다.
- 리소스를 직관적으로 이해할 수 있는 명사 형태의 단어를 사용하며, 행위를 나타내는 동사는 사용하지 않는다.
- HTTP 요청 메서드는 행위를 표현
- HTTP 메서드는 행위의 종류이므로 URL에 직접 노출되어서는 안된다.
- HTTP 메서드는 행위의 종류이므로 URL에 직접 노출되어서는 안된다.
- JSON을 사용한 Payload
- 요청과 응답의 본문 데이터는 주로 JSON 형식으로 주고 받는다.
- 요청과 응답의 본문 데이터는 주로 JSON 형식으로 주고 받는다.
- 리소스 네이밍 규칙
- 리소스의 이름은 소문자와 단수 명사를 사용하며, Spinal-case(하이픈으로 구분)를 권장한다.
- 리소스의 이름은 소문자와 단수 명사를 사용하며, 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 |