클라이언트는 요청하고 서버는 데이터와 규칙을 처리한다
프론트엔드는 화면과 상호작용, 백엔드는 데이터·권한·비즈니스 로직을 맡고 둘 사이의 약속은 API로 드러난다.
| 구간 | 역할 | 주요 데이터 | 깨지기 쉬운 지점 |
|---|---|---|---|
| Client | 사용자 입력과 화면 렌더링 담당 | URL, method, header, body | 로딩·오류 상태 누락 |
| Request | 원하는 자원과 동작을 서버에 전달 | GET, POST, cookie, token | 요청 형식과 인증 불일치 |
| Server | 검증, 인증, 비즈니스 규칙 처리 | route, controller, service | 권한 검증이 화면에 의존 |
| Data | DB나 외부 API에서 필요한 값 조회 | query, cache, transaction | 빈 결과와 실패 처리 누락 |
| Response | 상태 코드와 응답 본문 반환 | status, JSON, HTML | 성공/실패 계약이 불명확 |
프론트와 백엔드는 화면 모양이 아니라 요청·응답 계약으로 협업한다.