백엔드를 처음 공부하고있기 때문에 헷갈리는 개념이 많아서 정리합니다.
웹서버(Web server): 정적 컨텐츠를 처리. HTML, CSS, JavaScript파일. 처음 페이지가 실행됐을 때. 보통 http요청을 직접 받는(엔드포인트) 역할을 수행. 보안 등 http통신 관리. 어플리케이션 서버로 요청 전달.
예) apache, nginx
어플리케이션 서버(WAS): 동적 컨텐츠 처리. 정보 조회, 로그인 등등.
예) Node.js

웹서버에게 http요청이 들어옴
→ 정적 컨텐츠일 경우 웹서버가 파일을 찾아 반환
→ 동적 컨텐츠일 경우 요청을 어플리케이션 서버로 전달
→어플리케이션 서버는 요청을 처리, 응답 생성
→응답을 웹서버에 전달
→웹 브라우저가 응답을 해석하고 화면에 표시(client side javascript가 처리)
웹브라우저: 콘텐츠 렌더링, 사용자 인터페이스, 자바스트립트 파일 실행, http통신 관리, 세션 관리, 보안, 멀티미디어 재생 기능 수행