모던 자바스크립트 Deep Dive에서 REST API 부분을 읽고 잘 모르겠는 부분들은 찾아보며 정리한 글 !
HTTP에 대해서는 주소창에 google.com을 입력하면 일어나는 일을 포스팅할 때 짧게 썼다
그리고 HTTP에 대해 자세히 기록한 포스팅도 있다
짧게 말해 HTTP는 웹에서 클라이언트와 서버 간의 데이터 전송을 위한 프로토콜이다
REST란? HTTP 프로토콜을 기반으로 클라이언트가 서버의 리소스(= 자원, 데이터)에 접근하는 방식을 규정한 아키텍처
REST의 기본 원칙을 성실히 지킨 서비스 디자인을 RESTful이라고 한다
REST API란? REST 아키텍처를 기반으로 설계된 API로 클라이언트가 서버의 리소스에 접근하고 상호작용할 수 있도록 한다
REST API는 리소스, 행위, 표현 세 가지 요소로 구성된다
- 리소스(Resource): 다루고자 하는 데이터의 단위이며, 고유한 URL로 식별된다
예를 들어, 사용자 목록을 나타내는 URL은 https://api.example.com/users가 될 수 있다 - 행위(Action): 리소스에 대해 수행할 수 있는 작업을 HTTP 메서드로 표현한다
GET 메서드는 리소스을 조회하고, POST 메서드는 새 리소스을 생성한다 - 표현(Representation): 리소스의 상태를 나타내는 데이터 형식으로, 일반적으로 JSON이나 XML와 같은 페이로드를 사용한다
페이로드 : 데이터 전송 시 실제로 전달되는 유의미한 데이터
- 사용자 정보를 JSON 형식으로 표현한 예시
{ "id": 1, "name": "John Doe", "email": "john@example.com" }
- 사용자 정보를 JSON 형식으로 표현한 예시
| 구성 요소 | 내용 | 표현 방법 |
| 리소스 | 리소스 | URL |
| 행위 | 리소스에 대한 행위 | HTTP 요청 메서드 |
| 표현 | 리소스에 대한 행위의 구체적 내용 | 페이로드 |
주소창에 google.com을 입력하면 일어나는 일에서 HTTP를 고속도로 (웹 데이터를 주고받는 더 빠른 통신 경로)에 비교했는데
HTTP가 고속도로라면
- REST : 교통규칙 (고속도로(= HTTP)에서 데이터가 어떻게 이동할지에 대한 규칙)
- REST API : 내비게이션 시스템 (교통 규칙(= REST)을 기반으로 목적지에 도달하는 방법을 안내)
로 비유할 수 있다
REST API에서 리소스와 행위는 잘 구분되어야 한다
- 올바른 방식 (행위는 메서드로, 리소스는 URL로)
- GET /users: 사용자 목록 조회
- POST /users: 새 사용자 추가
- PUT /users/123: ID 123인 사용자 수정
- DELETE /users/123: ID 123인 사용자 삭제
- 잘못된 방식 (URL에 동사 포함)
- /getUsers, /createUser처럼 동사를 포함한 URL (행위는 URL이 아니라 메서드로 표현해야 한다)
'Study' 카테고리의 다른 글
| CSS의 position 속성의 속성값에 대해 정리 (1) | 2024.10.09 |
|---|---|
| CSS에서 margin과 padding의 차이 (0) | 2024.10.08 |
| HTTP란? (0) | 2024.10.06 |
| 주소창에 google.com을 입력하면 일어나는 일 (1) | 2024.08.31 |
| 리플로우(Reflow)와 리페인트(Repaint)가 실행되는 시점 (0) | 2024.08.30 |