2023년 07월 28일
웹 환경에서는 브라우저가 클라이언트 역할을 한다. 주소창에 도메인을 검색하면 해당 도메인의 서버(서버는 보통 3가지로 구성된다. 웹 서버, 웹 애플리케이션 서버, 디비 서버)가 해당 요청에 대한 응답을 하는데 이 때 서버는 보통 프론트엔드 서버
와 백엔드 서버
로 나뉜다.
프론트엔드 서버
는 클라이언트(브라우저)에서 요청이 왔을 때 번들링하여 미리 준비해둔 HTML, CSS, Javascript 파일들을 제공한다. 예를 들어 react로 개발한 프론트엔드 애플리케이션을 배포할 때 nginx, apache http server와 같은 웹 서버에 react 빌드 파일을 배포한다. 즉 프론트엔드 서버를 웹 서버라고 볼 수 있다. (user <-> web server <-> web application server)
백엔드 서버
는 클라이언트(브라우저) 혹은 프론트엔드 서버에서 필요한 데이터를 전달한다. 이 때 데이터를 전달해주는 역할만 수행할 뿐 페이지 렌더링에 필요한 정적 리소스를 제공하는 것은 아니기 때문에 API 서버
라고도 부른다.
프론트 서버가 웹 서버이고 백엔드 서버는 API 서버에 더 가깝다.