728x90
WS (Web Server)
단순히 웹페이지를 보여주는 역할.
요청받은 정적인 웹 리소스(HTML, CSS, 이미지 등)를 찾아서 그대로 전달해주는 서버. (파일 요청 → 그대로 전달)
많은 요청을 동시에 처리하기에 적합하고, 리소스 사용량이 비교적 적다.
대표적으로 Apache, Nginx 같은 프로그램이 있다.
- 정적 콘텐츠 제공
HTML, CSS, 이미지, 동영상 같은 미리 준비된 파일을 클라이언트(사용자)에게 제공한다. - HTTP 요청 처리
사용자가 브라우저에서 보낸 요청을 받아들이고 처리한 뒤, 응답을 돌려준다.
정적인 요청은 웹 서버가 직접 처리하고, 복잡한 요청은 WAS로 넘긴다. - 인증과 보안
HTTPS를 통해 데이터를 암호화해서 안전하게 전달한다.
허가되지 않은 접근을 막기 위해 보안 설정을 관리한다. - 로드 밸런싱
많은 사용자가 접속하면 한 서버가 과부하될 수 있어서, 여러 서버로 요청을 나눠주는 트래픽 분배를 한다. - Reverse Proxy (역방향 프록시)
사용자의 요청을 받아 대신 다른 서버에 전달한 뒤, 그 응답을 다시 사용자에게 돌려준다.
이렇게 하면 서버의 IP가 노출되지 않아 보안이 강화되고, 서버의 부하도 관리 가능하다.
WAS (Web Application Server)
웹 애플리케이션 서버.
웹에서 동작하는 애플리케이션을 실행하고 관리하는 역할을 한다.
사용자가 웹 브라우저에서 보낸 요청을 처리해서 결과를 돌려주는 서버. (요청 → 처리 → 결과 전달)
WAS는 데이터베이스와 연결, 트랜잭션 처리 등 핵심 로직(동적인 작업)을 수행한다.
로직이 복잡해질수록 서버 리소스를 많이 사용해서, 요청 처리 시간이 웹 서버보다 느릴 수 있다.
대표적으로 Tomcat, JBoss, WebLogic 같은 프로그램이 있다.
- 비즈니스 로직 처리, 애플리케이션 실행 환경 제공 (API 요청)
개발자가 만든 웹 애플리케이션이 실제로 동작 가능한 환경을 제공하고, 사용자가 요청한 데이터를 처리하고 결과를 만들어준다. - 동적 콘텐츠 생성
데이터베이스나 외부 시스템과 연결해 실시간으로 결과를 만들어 사용자에게 전달한다. - 데이터베이스 연동 (CRUD)
데이터베이스와 통신하여 정보를 가져오거나 저장한다. - 세션 관리
사용자가 로그인한 상태를 유지하거나, 개인화된 데이터를 처리한다
예: 로그인 후 "OO님 환영합니다" 같은 맞춤형 메시지를 보여줌.
WS (Web Server) | WAS (Web Application Server) | |
역할 | 정적 콘텐츠 제공 | 동적 콘텐츠 생성 및 제공 |
처리내용 | HTML, CSS 등 정적인 파일 전달 | DB 연동 등 동적 작업 |
요청 처리 | 요청 파일을 그대로 전달하거나, WAS로 전달 | 요청을 처리하고 결과를 반환 |
주로 하는 일 | - 정적 파일 제공 - HTTP 요청 처리 - 인증과 보안 |
- 동적 요청 처리 - 데이터 CRUD - API 실행 환경 제공 |
728x90
'📚 자료실' 카테고리의 다른 글
WebSocket과 socket.io의 기본 개념 (1) | 2025.01.14 |
---|---|
MVC, MVVM, MVP, MVI 디자인 패턴과 데이터 흐름 (0) | 2024.11.29 |
HTTP 상태 코드의 종류 (0) | 2024.10.30 |
쉘과 커널, Powershell과 Bash, CMD (1) | 2024.10.15 |
SFTP, FTP, SSH 기본 개념 (0) | 2024.10.15 |