[Web] WAS란 무엇인가? Web Server와 차이점은?

김예원·2022년 9월 2일
0
post-thumbnail

WAS(Web Application Server)란?

  • DB 조회나 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Web Application Server이다
  • Web container, Servlet Container 라고도 불린다.
  • container란 jsp, servlet을 실행시킬 수 있는 소프트웨어를 말한다

*jsp(Java Server Page)

개념

  • java 코드가 들어있는 html 코드

특징

  1. 서블릿은 자바 소스 코드 속에 HTML코드가 들어가 있는 형태인데,

    JSP는 이와 반대로 HTML 소스코드 속에 자바 소스코드가 들어가는 구조
    를 갖는 웹 어플리케이션 프로그래밍 기술이다.

  2. JSP 는 WAS(Web Application Server)에 의하여 서블릿 클래스로 변환되어 사용된다.

*servlet

개념

  1. 동적 웹페이지를 만들 때 요청(request)과 응답(response)의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 java기반의 웹 프로그래밍 기술
  2. 클라이언트의 요청을 처리하고, 그 결과를 반환하는 servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술
  3. 자바를 사용하여 웹을 만들기 위해 필요한 기술

특징

  1. html을 사용하여 요청에 응답
  2. java thread를 이용하여 동작
  3. MVC 패턴에서 Controller로 이용
  4. HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받음

WAS의 종류와 특징

Tomcat 기능

  • jsp/servlet container 중 하나로 사용자에게 jsp요청을 받으면 서블릿으로 바꾸어 실행
  • Web Server에서 요청한 동적 페이지를 읽어 프로그램을 실행
  • 그 결과를 다시 HTML로 재구성하여 Web server에 전달

Tomcat 특징

  • servlet container를 지원함
  • 톰캣은 실제로 웹 서버와 통신하며 JSP와 Servlet이 작동하는 환경을 제공해줌
  • os의 제약이 없음(windows, linux, unix 등)

Web server와 WAS는 목적이 다르다.

웹 서버는 정적인 데이터를 처리하는 서버이다. 이미지나 단순 html 파일과 같은 리소스를 제공하는 웹 서버를 통하면 was를 이용하는 것보다 빠르고 안정적이다.

WAS는 동적인 데이터를 처리하는 서버이다. DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터 조작이 필요한 경우에는 WAS를 활용해야 한다.

profile
기억력이 짧은 나를 위한 기록 🍀

0개의 댓글