Web
인터넷을 기반으로 한 정보를 공유, 검색할 수 있게 하는 서비스
URL(주소),HTTP(통신규칙),HTML(내용)
Server
클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템
Web Server
인터넷을 기반으로 클라이언트에게 웹서비스를 제공하는 컴퓨터
Web Application
웹에서 실행되는 응용프로그램
Web Application Server
웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크.
웹 애플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버로 전달한다.
Web Application Server의 특징
was는 web server와 web container을 포함하는 구조이다.
web server에는 apache, nginx 등이 있고 was에는 tomcat, ibmsphere 등이 있다.
Web Server는 우리가 정적으로 페이지와 같은 정적 컨텐츠만 줄 수 있는 서버
Was는 애플리케이션을 실행시키고 DB를 연결하고 어떤 동작을 수행시켜 만들어진 데이터를 줄 수 있는 기능을 하는 서버
그러나 CGI는 request가 들어올 때마다 새로운 프로세스를 만드는데 이러한 점이 많은 사용자를 처리하기엔 무리였다
*프로세스란 실행중인 프로그램 인스턴스(메모리에 적재된 프로그램)
개선 : Process -> Thread(메모리를 공유하고 생성하는데 시간이 적게 걸림)
*스레드란 한 프로세스 내의 동작 흐름
그러나 스레드로 바꾸어도 request가 들어올 때마다 구현체가 하나씩 생긴다는 문제가 있었다.
개선 : 여러 instance -> singleton

따라서 위와 같은 구조를 갖게 된다.
Dispatcher Servlet의 구조

먼저 WAS에 대해 잘 몰랐었는데 이번에 WAS란 동적인 컨텐츠를 지원하는 서버란 것을 알 수 있었고 Web Server에 대해 명확한 개념을 알 수 있었다.
더 나아가 Servlet의 개념에 대해 정립할 수 있었다
레퍼런스 : 우아한테크 희봉의 웹서버 vs was
우아한테크 타미의 servlet vs spring
사진 https://akasai.space/basic/about_was/
https://code-lab1.tistory.com/199