기록은 기억을 이기고 시간보다 오래 남는다.

Computer Science

백엔드 개발 이해하기

준_준 2024. 4. 22. 18:05

백엔드의 구조

  • 클라이언트와 서버의 상호작용: 클라이언트(예: 브라우저)가 요청을 보내면, 웹 서버가 이를 받아 응답합니다.

웹 서버의 역할

  • 정적 페이지 처리: 웹 서버는 HTML, CSS, JavaScript 같은 정적 파일을 클라이언트에 제공합니다.
  • 동적 페이지 위임: 동적 페이지 요청은 웹 서버가 직접 처리하지 않고, 웹 어플리케이션 서버에 전달합니다.

웹 어플리케이션 서버와 데이터베이스

  • 동적 페이지 처리: 웹 어플리케이션 서버는 사용자의 요청에 따라 데이터베이스와 상호작용하면서 동적 컨텐츠를 생성합니다.
  • 데이터 연산: 조회, 수정, 삭제 등의 데이터베이스 작업을 수행하여 요청된 작업을 완료합니다.

 

Node.js의 이해

Node.js란?

  • 자바스크립트 확장: Node.js는 자바스크립트를 브라우저 이외의 환경에서 실행할 수 있게 해주는 플랫폼입니다. 이를 통해 백엔드 프로그래밍도 가능해집니다.

포트 번호

  • 통신의 시작점: 클라이언트와 서버가 '같은 주파수'로 맞추어야 통신할 수 있습니다. 이를 위해 포트 번호를 사용합니다.

HTTP 프로토콜의 구조

  • Head 부분:
    • 상태 코드(200: 정상, 404: 찾을 수 없음, 500: 서버 오류)와 응답 타입을 포함합니다.
  • Body 부분:
    • 사용자가 웹 페이지에서 볼 수 있는 내용을 담고 있습니다.

모듈화된 서버

  • 재사용 가능: Node.js를 이용해 만든 서버도 다른 JavaScript 파일에서 모듈처럼 재사용할 수 있습니다.

URL과 라우팅

  • URL (Uniform Resource Locator):
    • 인터넷 상의 웹 페이지 위치를 알려주는 주소입니다.
  • 서버와 라우터의 역할:
    • 서버: 요청을 받습니다.
    • 라우터: 요청의 URL에 따라 처리 경로를 정해줍니다.
반응형