Https 를 적용하려고 하는데 방법을 찾아보면 다들 웹서버를 사용하고 있다.

웹서버가 무엇이고, 왜 사용해야 하며, 그래서 우리 프로젝트와 적합한 웹서버가 무엇인지 알아보았다.

웹서버와 WAS 의 차이점

사전적 정의

웹서버 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램

WAS(Web Application Server) 인터넷 상에서 HTTP 프로토콜을 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로서, 주로 동적 서버 컨텐츠를 수행하는 것으로 웹서버와 구별이 된다. 주로 데이터베이스 서버와 같이 수행됨.

WAS는 웹 서버와 웹 컨테이너가 합쳐진 형태로서, 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다. 덕분에 사용자의 다양한 요구에 맞춰 웹 서비스를 제공할 수 있다. WAS 는 JSP, Servlet 구동환경을 제공해주기 때문에 웹 컨테이너 혹은 서블릿 컨테이너라고도 불린다.

컨테이너 (Container)

컨테이너는 동적인 데이터들을 처리하여 정적인 페이지로 생성해주는 소프트웨어 모듈이다.. 사용자가 로그인해서 My Page 메뉴에 들어간다고 가정해보자. 이 메뉴에서는 각자 사용자에 따라 보여질 정보가 다릅니다. 사용자의 요청이 들어오면 웹 서버는 정적인 요소만 클라이어트 측에 보낼 수 있고, 동적으로 처리해야 하는 부분은 처리할 수 없다. 컨테이너는 이러한 부분을 대신 처리해서 웹 서버에 정적인 파일로 만들어서 보내주는 모듈 이라고 생각할 수 있다. 자바 기반에서는 서블렛 이라는 용어를 사용하기도 한다.

정적 페이지와 동적 페이지

정적 페이지 (Static Page)

데이터베이스에서 정보를 가져오거나 별도의 서버에서의 처리가 없어도 사용자들에게 보여줄 수 있는 페이지. 어떠한 사용자가 오든지간에 동일한 페이지를 보여준다.

정적인 요소에는 Html, Css, Js, Image 같은 요소들이 있다. Js는 클라이언트 단에서 Html과 Css 와 같은 요소들을 컨틀로 하는데 쓰입니다.