본 내용은 10분 테코톡 알리님의 강의를 토대로 작성하였습니다.
1. Web Server
Web Server란?
- 웹 브라우저(클라이언트)로부터 HTTP 요청을 받아, HTML 문서와 같은 정적 컨텐츠를 제공하는 프로그램
- 정적 컨텐츠
- 요청 인자 값에 상관없이 달라지지 않는 컨텐츠(HTML, CSS, image…)
- 어느 사용자 요청이든 항상 동일한 컨텐츠
Web Server의 기능
- 클라이언트로부터 HTTP 요청을 받을 수 있다.
- 정적 컨텐츠 요청 시
- 정적 컨텐츠를 제공
- 동적 컨텐츠 요청 시
- Web Application Serv er(WAS)로 전달하여 WAS가 처리한 결과를 클라이언트에 전달
2. Web Application Server
Web Application Server란?
- DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 프로그램
- 동적 컨텐츠
- 요청 인자값에 따라 달라지는 컨텐츠
- 사용자에 따라 달라질 수 있다.
WAS의 기능
- 클라이언트로부터 HTTP요청을 받을 수 있다. (Web Server가 내장)
- 요청에 맞는 정적 컨텐츠 제공
- DB조회나 다양한 로직 처리를 통해 동적 컨텐츠를 제공
3.Web Server와 WAS를 같이 사용하는 것의 장점
- 책임 분할을 통한 서버 부하 방지
- 정적 컨텐츠는 Web Server, 동적 컨텐츠는 WAS가 담당
- 여러대의 로드밸런싱
- WAS가 처리해야 하는 요청을 여러 WAS가 나누어서 처리
- 여러대의 WAS Health Check
- 서버에 주기적으로 HTTP 요청을 보내 서버의 상태 확인
- 특정 url 요청에 200 응답이 오는지
- 보안
- 리버스 프록시를 통해 실제 서버를 외부에 노출하지 않을 수 있다.
WAS만으로도 서비스는 가능하다. 하지만, 서비스 확정성, 안정성을 고려하면 앞 단에 Web server를 두는 것이 유리하다.
Reference
'programming study > web' 카테고리의 다른 글
SPA (0) | 2021.07.13 |
---|---|
웹 접근성 & 표준 (0) | 2021.07.12 |
브라우저 렌더링 (0) | 2021.07.11 |
REST API (2021.3.14) (0) | 2021.03.14 |
HTTPS (2021.3.9) (0) | 2021.03.09 |