1. 개념 설명 (Concept)
- 백엔드(Backend): 클라이언트(사용자의 브라우저, 앱 등)가 요청(Request)을 보내면, 이를 처리해 응답(Response)을 돌려주는 서버 측 로직.
- 예: 사용자가 로그인 버튼 클릭 → 서버에서 DB 조회 → 성공 여부를 JSON으로 응답.
- 클라이언트(Client): 화면(UI)을 보여주고, 사용자 입력을 서버에 전달.
- 서버(Server): 요청을 받아서 로직 실행 + DB 접근 + 응답 반환.
- DB(Database): 데이터를 저장하고 관리하는 시스템.
흐름을 간단히 정리하면:
👉 Client (브라우저) → Server (Spring Boot, Node 등) → DB (MySQL) → Server → Client (JSON 응답 표시)
2. 올바른 용어 (Terminology)
- Request / 요청
- Response / 응답
- Server / 서버
- Client / 클라이언트
- Database (DB) / 데이터베이스
- API (Application Programming Interface) / 응용 프로그램 인터페이스
3. 잘못 쓰기 쉬운 표현 + 실제 맥락 (Misuse & Context)
- ❌ “백엔드는 DB 그 자체다” → 틀림.
- ✔ 백엔드는 DB까지 포함한 서버 로직 전체를 의미.
- ❌ “API는 JSON이다” → 틀림.
- ✔ API는 약속된 규격의 인터페이스고, JSON은 응답 포맷 중 하나일 뿐.
4. 면접 예시 (Interview Q&A)
- Q: 클라이언트와 서버의 차이를 설명해보세요.
- A: 클라이언트는 사용자와 상호작용하며 요청을 보내는 쪽이고, 서버는 요청을 받아서 처리 후 응답을 돌려주는 쪽입니다.
- Q: 백엔드가 하는 일은 무엇인가요?
- A: 데이터 저장·조회·비즈니스 로직 실행을 담당하며, API를 통해 클라이언트와 통신합니다.
오늘 학습 체크 질문
- 클라이언트(Client)와 서버(Server)의 차이를 짧게 설명해보세요.
- 내 답안->
서버는 특정 데이터를 활용할 수 있는 주체이고 클라이언트는 서버에 특정 데이터를 요청하고 응답받는 대상이야. - 보완: “서버는 서비스를 제공하는 주체이고, 클라이언트는 그 서비스를 요청하는 주체”라고 하면 더 명확합니다.
단순히 데이터만 다루는 게 아니라, 연산/비즈니스 로직까지 포함합니다.
- 내 답안->
- 서버가 DB와 연결되는 이유는 무엇인가요?
- 서버는 기본적으로 데이터를 다뤄.
일반적으론 데이터가 동적이지만 정적으로도 머무를 공간이 필요하잖아? 그래서 DB와 연결하는거야.
CPU도 연산 논리 장치와 저장 장치(?) 로 나뉘는거랑 같은 이유야 - 보완: 서버는 DB를 통해 **지속성(Persistence)**을 확보합니다.
즉, 전원이 꺼져도 데이터가 남아 있어야 하기 때문입니다.
CPU의 연산/저장 장치와 비슷한 비유는 괜찮지만, DB는 CPU의 RAM보다는 하드디스크/SSD에 더 가깝다고 표현하면 정확합니다.
- 서버는 기본적으로 데이터를 다뤄.
- API와 JSON의 관계를 설명해보세요.
- API는 주체와 주체가 데이터 통신을 하는 특정 형식이야. 택배로 배송할 때 입력하고 택배사에서 받는 내용의 형식이 있는 것처럼, JSON은 그 형식 중 하나야. 클라이언트와 서버가 데이터를 주고받을 때 가장 JSON을 많이 쓰는 추세라고 알고 있어
- 보완: “API는 통신 규격, JSON은 포맷”이라는 설명이 아주 정확합니다.
왜 JSON을 많이 쓰냐?- 가볍고(경량),
- 사람이 읽고 쓰기 쉽고,
- 언어 독립적(자바, 파이썬, JS 모두 사용 가능),
- JS와 바로 호환 가능(프론트엔드 개발과 맞물려 인기↑).
- API는 주체와 주체가 데이터 통신을 하는 특정 형식이야. 택배로 배송할 때 입력하고 택배사에서 받는 내용의 형식이 있는 것처럼, JSON은 그 형식 중 하나야. 클라이언트와 서버가 데이터를 주고받을 때 가장 JSON을 많이 쓰는 추세라고 알고 있어
- 사용자가 로그인 버튼을 클릭했을 때 서버와 클라이언트, DB가 어떤 순서로 동작하는지 간단히 말해보세요.
- 로그인 방식에 따라 작동 방식이 다르지만 DB를 말한다면 세션 로그인 방식이겠지?
그럼 클라이언트가 서버로, 서버에서 DB를 불러 로직을 실행한 수 서버에서 클라이언트로 최종 결과를 전달하겠지? - 보완: “클라이언트 → 서버 → DB → 서버 → 클라이언트” 흐름을 잘 잡으셨어요.
세션 로그인 / 토큰 로그인은 구현 방식의 차이일 뿐, 요청 → DB 조회 → 응답 구조는 동일합니다.
- 로그인 방식에 따라 작동 방식이 다르지만 DB를 말한다면 세션 로그인 방식이겠지?
'Study (공부 & 정리) > Backend' 카테고리의 다른 글
[#3][다시, 처음부터 #3]HTTP 상태 코드(HTTP Status Code) 와 API 응답 설계 (0) | 2025.09.11 |
---|---|
[#3][다시, 처음부터 #2] HTTP & REST 기본기 (0) | 2025.09.09 |
[#2][AWS 배포 시리즈 4편] 도메인 구매 & 퍼블릭 IP 연결 (5) | 2025.08.13 |
[#2][AWS 배포 시리즈 3편] 고정 IP 설정 (Elastic IP) (0) | 2025.08.13 |
[#2][AWS 배포 시리즈 2편] 보안 포트 설정 가이드 (0) | 2025.08.13 |