💻 웹서버(Web Server)
정적 컨텐츠(html, css, js)를 제공하는 서버. (ex. Apache, Nginx)
HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에 요청을 하면 그 요청을 받아 정적 컨텐츠로 제공함.
동적 컨텐츠를 요청받으면 WAS에게 요청 넘겨줌, WAS에서 처리한 결과 클라이언트에 전달
💻 WAS(Web Application Server)
동적 컨텐츠를 제공하는 서버. (ex. Tomcat(=Apache Tomcat, JBoss, WebSphere)
DB조회 또는 비즈니스 로직을 처리하는 동적 컨텐츠 구동이 가능한 서버.
WAS는 JSP, Servlet 구동환경을 제공해주기 때문에 서블릿 컨테이너, 웹 컨테이너로 불린다.
WAS는 Web Server와 Web Container 역할 모두 가능.
🙋 그렇다면 WAS가 웹서버 기능까지 수행하는데, 분리해서 연동하는 이유는?
- 처리 속도 : WAS는 독립적인 웹서버보다 처리속도 느림 > 서비스 품질저하 될 수 있음
- 서버 부하 방지 : 분리해서 서버의 부하를 방지함. 정적 컨텐츠까지 WAS가 한다면 부하가 커지고, 수행속도 느려질 것.
- 보안 강화 : SSL(Secure Sockets Layer - 보안 소켓 계층 : 웹 사이트와 브라우저 사이 혹은 두 서버 사이에 전송되는 데이터를 암호화하여 인터넷 연결 보호하기위한 표준 기술)에 대한 암호화, 복호화 처리에 웹서버 사용 가능
- 여러 WAS 연결 가능 : 로드밸런싱(여러 서버들로 대규모의 네트워크 트래픽을 분산 처리하는 기술/로드=부하,밸런싱=분산, 즉 네트워크나 서버에 가해지는 부하를 분산해주는 기술)을 위해 웹서버 사용할 수 있음. 여러 개의 서버를 사용하는 대용량 웹어플리케이션의 경우 웹 서버와 WAS를 분리하여 무중단 운영을 위한 장애 극복(작동 중지된 WAS가 있다면 대신해 다른 WAS를 사용하여 장애를 극복함)에 쉽게 대응할 수 있음
'etc' 카테고리의 다른 글
[도커(Docker)] MySQL 컨테이너 비밀번호 잊어버린 경우 (0) | 2024.08.12 |
---|---|
MySQL 바로 꺼짐 현상 해결 (0) | 2023.11.16 |
유즈 케이스 작성하기 (0) | 2023.11.15 |
MySQL Docker 컨테이너 접속 (Docker을 활용한 개발 환경 구성) (0) | 2023.05.19 |
[가상화 기술] 도커(Docker), 하이퍼바이저(Hypervisor), VM과Container (+ Docker-compose) (0) | 2023.05.19 |