우리가 개발하는 웹 애플리케이션에는 크게 2가지 서버가 존재한다.
프론트엔드 서버, 그리고 백엔드 서버로 구성된다.
프론트엔드 서버라고 부를수 있는 것은 바로 서버 컴포넌트이다.
일단 프론트엔드 서버와 백엔드 서버 각각의 목적과 역할을 정리한다.
[프론트엔드 서버]
프론트엔드 서버는 주로 정적이니 파일을 제공하는 역할을 한다.
이때의 정적인 파일이란 HTML, CSS, Javascript 등이 있다.
이 서버는 웹 페이지의 초기 렌더링을 처리하며, 사용자 브라우저로 정적 리소스를 제공한다.
주요 역할은 클라이언트 측 렌더링을 가능하게 하는 것이며, 초기 페이지 로딩을 하기 위해 필요한 HTML 및 정적 리소스를 제공하는 것이다.
프론트엔드 서버는 주로 웹서버 소프트웨어인 Apache와 Nginx 등을 사용해 설정하며, 이를 통해 정적 파일을 호스팅할 수 있다.
[백엔드 서버]
주로 동적인 데이터 처리와 데이터베이스에 대한 접근, 사용자 인증, 비즈니스 로직의 처리를 담당한다.
백엔드 서버는 클라이언트의 요청을 받아 데이터 베이스에서 데이터를 읽고 쓰기등의 작업을 수행하고,
그 결과를 프론트엔드에 전송한다.
웹 애플리케이션의 핵심적인 로직을 처리하는 역할을 한다.
정리하자면,
프론트엔드 서버는 주로 클라이언트 측의 렌더링과 사용자 인터페이스(UI) 를 처리한다.
백엔드 서버는 데이터 처리와 비즈니스 로직을 관리한다.
이 두가지의 협업을 통해 사용자에게 하나의 애플리케이션을 제공할 수 있게 되는 것이다!