본문 바로가기
Study (공부 & 정리)/Backend

[#3][다시, 처음부터 #1] 백엔드란+ 서버/클라이언트 기본 개념

by Dev.후크리 2025. 9. 6.
1. 개념 설명 (Concept)
  • 백엔드(Backend): 클라이언트(사용자의 브라우저, 앱 등)가 요청(Request)을 보내면, 이를 처리해 응답(Response)을 돌려주는 서버 측 로직.
    • 예: 사용자가 로그인 버튼 클릭 → 서버에서 DB 조회 → 성공 여부를 JSON으로 응답.
  • 클라이언트(Client): 화면(UI)을 보여주고, 사용자 입력을 서버에 전달.
  • 서버(Server): 요청을 받아서 로직 실행 + DB 접근 + 응답 반환.
  • DB(Database): 데이터를 저장하고 관리하는 시스템.

흐름을 간단히 정리하면:
👉 Client (브라우저)Server (Spring Boot, Node 등)DB (MySQL)ServerClient (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와 바로 호환 가능(프론트엔드 개발과 맞물려 인기↑).
  • 사용자가 로그인 버튼을 클릭했을 때 서버와 클라이언트, DB가 어떤 순서로 동작하는지 간단히 말해보세요.
    • 로그인 방식에 따라 작동 방식이 다르지만 DB를 말한다면 세션 로그인 방식이겠지?
      그럼 클라이언트가 서버로, 서버에서 DB를 불러 로직을 실행한 수 서버에서 클라이언트로 최종 결과를 전달하겠지?

    • 보완: “클라이언트 → 서버 → DB → 서버 → 클라이언트” 흐름을 잘 잡으셨어요.
      세션 로그인 / 토큰 로그인은 구현 방식의 차이일 뿐, 요청 → DB 조회 → 응답 구조는 동일합니다.