WEB, boostcourse, Apache Tomcat, WAS
Apache
- 아파치 재단에서 만든 sw
- 정적인 데이터를 처리하는 웹서버
- 클라이언트가 get,post,delete 등의 메소드를 이용해 –요청–> 서버가 그에 대한 결과를 돌려주는 기능을 한다.
Apache Tomcat
- 아파치 재단에서 만든 sw
- 동적인 데이터를 처리하는 웹서버
- 동적인 처리를 담당하는 서버를 WAS(Web Application Server)라고 하고, 대표적인 WAS가 아파치톰캣(톰캣이라고 부름)이다.
-
WAS라고 불리며, 웹서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 역할을 수행할 수 있는 서버를 말한다.
- 컴퓨터에 운영체제를 설치해야만 컴퓨터를 사용할 수 있는 것 처럼, 자바를 이용하여 작성된 웹 애플리케이션은 WAS가 있어야만 실행할 수 있다.
WAS
-
WAS의 구성: 사용자 요청(웹 브라우저) -> 웹 서버 -> WAS(동적 처리) -> 웹서버 -> 사용자 응답 메세지 (웹 브라우저)
-
WAS는 일종의 미들웨어로 웹 클라이언트(보통 웹 브라우저)의 요청 중 웹 애플리케이션이 동작하도록 지원하는 목적을 가집니다
웹 서버 vs WAS
- WAS도 보통 자체적으로 웹 서버 기능을 내장하고 있습니다.
- 현재는 WAS가 가지고 있는 웹 서버도 정적인 콘텐츠를 처리하는 데 있어서 성능상 큰 차이가 없습니다.
- 규모가 커질수록 웹 서버와 WAS를 분리합니다.
- 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 웹서버와 WAS를 대체로 분리합니다.
웹 애플리케이션이란 ?
- 웹 애플리케이션 또는 웹 앱은 소프트웨어 공학적 관점에서 인터넷이나 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 응용 소프트웨어를 말한다.
웹 서버란 ?
- 클라이언트의 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 답변을 클라이언트에게 전송하는 일을 한다.
- 사용자가 요청한 것들 중 웹 서버 자체적으로 처리할 수 없는 것들을 톰캣과 같은 컨테이너에게 넘겨 처리 결과를 받아와서 클라이언트에게 넘겨주는 역할을 수행하기도 한다.
- 웹 서버만 구축된 서버는 웹페이지, 이미지 등 정적인 컨텐츠만 제공 가능하다
- 컨테이너가 탑재되어 있는 WAS의 경우 동적인 컨텐츠도 제공이 가능하다.
정적&동적 웹 페이지 ?
- 정적 웹 페이지 (Static Web Page)
- 웹 서버에 미리 저장된 파일(HTML파일, 이미지, JavaScript파일 등)이 그대로 전달되는 웹 페이지
- 웹 서버는 사용자의 요청에 해당하는 저장된 웹 페이지를 보낸다
-
사용자는 서버에 저장된 데이터가 변경되지 않는 한 고정된 웹 페이지를 보게된다
- 동적 웹 페이지 (Dynamic Web Page)
- 웹 서버에 있는 데이터들을 스크립트에 의해 가공처리한 후 생성되어 전달되는 웹 페이지
- 웹 서버는 사용자의 요청을 해석해서 데이터 가공 후에 생성된 웹 페이지를 보낸다
-
사용자는 상황,시간,요청 등에 따라 달라지는 웹 페이지를 보게된다
Reference
- https://ithub.tistory.com/101
- https://wodonggun.github.io/wodonggun.github.io/study/%EC%95%84%ED%8C%8C%EC%B9%98-%ED%86%B0%EC%BA%A3-%EC%B0%A8%EC%9D%B4.html