웹 서버 vs WAS - MoonGyeongHyeon/Keyword_Study GitHub Wiki
웹 서버 vs WAS
웹서버
'웹 서버'는 인터넷을 통해서 요청된 웹 컨텐츠(html 문서, 이미지 등)의 전달을 도와주는 하드웨어와 소프트웨어를 말한다. 웹 서버는 기본적으로 '정적'이다. 클라이언트가 http 요청을 통해 자원을 요청하면 그 자원을 그대로 보내주는게 웹 서버의 역할이다.
CGI(Common Gateway Interface)
웹 서버에서 어플리케이션을 동작시키기 위한 인터페이스. 정적인 웹서버를 동적으로 동작하게 하기 위해 등장했다. 서버 프로그램가 외부 프로그램 간의 인터페이스가 바로 CGI이다.
근래에는 웹 서버의 프로세스로 인터프리터를 상주시킴으로써, CGI로부터 프로그램을 호출해 부하를 줄여 성능을 개선한 Java Servlet, mode perl, mod php FastCGI 등도 공개됐다.
기존에는 웹 서버가 있고 클라이언트에서 외부 프로그램이 필요한 요청이 들어오면 CGI를 통해 외부 프로그램을 실행시켜 요청에 응답했다. 하지만 요즘에는 웹 서버에 인터프리터를 내장함으로써 따로 프로세스를 fork하여 외부 프로그램을 실행시키지 않고 내부에서 모두 처리한다.
WAS (Web Application Server)
와스(WAS)는 웹 서버가 동적으로 기능하는 것을 의미한다. 즉, '웹 서버 + CGI = WAS'이다.