[API] : Application Programming Interface
- 한 프로그램에서 다른 프로그램으로 "정보를 주고받기 위한 규약(약속)"
- 모든 프로그램은 API를 가질 수 있음
[REST]
- 웹 서비스 개발에 널리 사용되는 "아키텍처 스타일"
- HTTP 프로토콜 위에서 동작
- HTTP URI를 통해 자원(Resource : 내가 필요한 데이터, 모든 데이터들은 특정 장소에 보관되어 있음) 명시, HTTP Method(CRUD 중 어떤 방식으로 요청할 건지?)를 통해 자원에 대한 CRUD 작업을 수행
- 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미
[REST API] : REpresentational State Transfer API
- REST 아키텍처 스타일을 따르는 API
ㄴ즉, 클라이언트와 서버 간의 통신 방식을 정의할 때 REST 원칙을 따름
- REST 기반으로 서비스 API를 구현한 것
ㄴREST를 적용한 웹 서비스를 RESTful 웹 서비스라고 함
[REST 규칙]
- 서버 측을 무상태(stateless)로 만들기
ㄴ서버는 클라이언트의 요청을 처리한 후 상태를 보관하지 않음
ㄴ즉, 클라이언트가 서버에 요청을 보낼 때 이전 요청의 영향을 받지 않음
ㄴ요청할 때 마다 서로 다른 요청으로 인식되어 이전 작업 내용을 다음 요청 시 사용 불가
ㄴex. 로그인 요청 후, 다음 요청에서 로그인 정보를 서버에게 다시 알려줘야 함
ㄴ왜냐하면 서버는 로그인 상태를 유지하지 못하므로!!
ㄴ 서버가 상태를 유지해야 한다면 데이터베이스에 리소스를 저장해야 함
ㄴ서버는 여러 클라이언트가 요청을 하므로 이전 요청의 상태를 유지할 수 없음
'2025 > [풀스택]SeSAC 웹개발자 7기' 카테고리의 다른 글
| [BookTalk 팀프로젝트 회고모음] 험난했던 1달반의 여정을 마치며... KPT, TIL, CSS, ARR 회고 모음 (0) | 2025.09.10 |
|---|---|
| [TIL] DTO vs VO? (0) | 2025.08.25 |
| [BookTalk 팀프로젝트] 250804월 Day21 배느실 (2) | 2025.08.04 |
| [BookTalk 팀프로젝트] 250801금 Day18 배느실 (3) | 2025.08.01 |
| [BookTalk 팀프로젝트] 250730수 Day15 배느실 (3) | 2025.07.30 |