Web Server
1. Web Server란 ?
웹 브라우저(클라이언트)로부터 HTTP 요청을 받아 정적 컨텐츠를 제공하는 프로그램.
* 정적 컨텐츠
- 요청 인자값에 상관없이 달라지지 않는 컨텐츠 (HTML, CSS, Image)
- 어느 사용자의 요청이든 항상 동일한 컨텐츠
2. Web Server의 기능
- 클라이언트로부터 HTTP 요청을 받을 수 있다.
- 그 요청이 정적컨텐츠 요청일 경우 정적 컨텐츠를 제공할 수 있다.
- 동적컨텐츠 요청일 경우 WAS로 전달하여 WAS가 처리한 결과를 클라이언트에게 전달한다.
Web Application Sever
1. Web Application Sever 란?
* Web Server + Web Container
* 웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크.
* DB조회나 다양한 로직처리를 요구하는 동적인 컨텐츠를 제공.
* 동적 컨텐츠
- 요청 인자에 따라 바뀔 수 있는 컨텐츠
2. Web Application Server 의 기능
- 클라이언트로부터 HTTP 요청을 받을 수 있다. (대부분의 WAS는 Web Server를 내장하고 있다.)
- 요청에 맞는 정적 컨텐츠를 제공할 수 있다.
- DB조회나 다양한 로직처리를 통해 동적 컨텐츠를 제공할 수 있다.
WAS와 WS를 구분하는 이유
1. 기능을 분리하여 서버 부하 방지
- WAS는 DB 조회나 로직을 처리하는데, 단순한 정적 컨텐츠 요청까지 WAS에서 처리한다면 다른 작업에 사용하는 리소스들로 인해 지연이 생길 수 있다.
2. 물리적으로 분리하여 보안 강화
- WAS에는 실제 Web Application이 올라가 있기 때문에 외부와 직접 연결이 되어 있다면 중요한 설정 파일이나 리소스들이 외부로 노출될 수 있다. 이를 막기 위해서 WS를 WAS 앞단에 배치해서 리소스를 안전하게 보호할 수 있다.
3. 여러 대의 WAS를 연결 가능
- Load Balancing을 위해서 Web Server를 사용 (서버가 받는 부하를 적절하게 분산시켜줌.)
- fail over, fail back 처리에 유리 (서버의 장애가 발생했을 경우 예비 운용환경으로 전환, 장애 해결 후 이전 운용환경으로 전환)
- 대용량 웹 어플리케이션의 경우(여러 개의 서버 사용) WS와 WAS를 분리하여 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있다.
4. 여러 웹 어플리케이션 서비스 가능
- Java 서버, PHP 서버와 같이 서로 다른 서버를 하나의 WEB서버에 연결해서 서비스 할 수 있다.
https://www.youtube.com/watch?v=mcnJcjbfjrs
https://www.youtube.com/watch?v=NyhbNtOq0Bc
https://www.youtube.com/watch?v=F_vBAbjj4Pk
https://velog.io/@gillog/Web-Server%EC%99%80-Web-Application-Server%EC%9D%98-%EC%B0%A8%EC%9D%B4
https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
'Study > 웹기초' 카테고리의 다른 글
SSR vs CSR (0) | 2023.05.17 |
---|---|
overflow/underflow (0) | 2023.01.31 |
macOS 터미널에서 내 IP 주소 확인하기 (0) | 2022.11.11 |
응집도 vs 결합도 (0) | 2022.10.05 |
객체 지향의 3가지 특징 - 캡슐화, 상속, 다형성 (1) | 2022.10.05 |