with gpt

질문

웹서버 web server - 정적

웹 애플리케이션 서버 was - 애플리케이션 로직

클라이언트 -> web server -> was -> db 이런 구조이면 서버를 2개 띄워야하는거야?

16:34

네, 맞아요! 말씀하신 구조처럼 웹 서버와 WAS를 분리해서 구성하면, 결과적으로 최소 2개의 서버 프로그램(또는 프로세스)을 띄워서 운영하게 돼요.

김영한님께서 이 구조의 장점을 설명하시면서, 두 서버의 역할을 나누어 운영하는 이유를 정리해 주셨는데요. 핵심은 다음과 같아요.

물론 실제 운영 환경에서는 물리적인 서버를 각각 따로 둘 수도 있고, 하나의 물리적인 서버 안에서 프로세스만 분리해서 띄울 수도 있어요. 하지만 개념적으로는 두 가지 역할을 하는 서버를 나누어 띄우는 것이 일반적인 구성이라고 이해하시면 돼요.

서블릿

http 스펙

서블릿 컨테이너 서블릿 객체 생명주기 관리(싱글톤으로)

주요 내용

1. 서블릿(Servlet)의 등장 배경 (03:31 - 04:05)

웹 서버를 밑바닥부터 직접 구현하려면 TCP/IP 연결, 소켓 통신, HTTP 메시지 해석 등 매우 복잡한 과정을 모두 다뤄야 해요. 서블릿은 이러한 저수준의 반복적인 작업을 추상화하여, 개발자가 오직 비즈니스 로직(핵심 기능)에만 집중할 수 있게 해줍니다.

2. 서블릿의 동작 흐름 (06:26 - 07:51)