티스토리 뷰

JVM/Spring

[스프링] [WAS] [Web Server]

글을 쓰는 개발자 2021. 9. 30. 18:56
반응형

WAS

웹 컨테이너 혹은 서블릿 컨테이너 라고도 불린다.

  • 컨테이너란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다 ( == 컨테이너)
  • 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
  • 컨테이너는 web.xml을 참조하여 해당 서블릿에 대한 쓰레드 생성하고 httpServletRequest와 httpServletResponse 객체를 생성하여 전달
  • 컨테이너는 서블릿을 호출
  • 호출된 서블릿의 작업을 담당하게 된 쓰레드는 doPost() 또는 doGet()을 호출한다.
  • 컨테이너는 전달받은 Response 객체를 HttpResponse형태로 바꿔 웹서버에 전달하고 생성되었던 쓰레드를 종료하고 httpServletRequest, httpServletResponse 객체를 소멸시킨다.

WAS의 역할

  • WebServer + Web Container
  • Web Server 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 제시
    • 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용
    • 주로 DB 서버와 같이 수행

Web Server가 필요한 이유?

  • 이미지 파일과 같은 정적인 파일들은 웹 문서가 클라이언트로 보내질 때 함께 가는 것이 아니다.
  • 클라이언트는 HTML 문서를 먼저 받고 그에 맞게 필요한 이미지 파일들을 다시 서버로 요청하면 그때서야 이미지 파일을 받아온다.
  • Web Server를 통해 정적인 파일들을 Application Server까지 가지 않고 앞단에서 빠르게 보내 줄 수 있다.
  • 보안상의 문제를 해결해줄 수 있다.

WAS가 필요한 이유?

  • 요청에 맞는 데이터를 DB에서 가져와서 비즈니스 로직에 맞게 그때 그때 결과를 만들어서 제공함으로써 자원을 효율적으로 사용가능

그럼에도 WEB SERVER가 필요한 이유?

  • 정적인 이미지를 처리함으로써 WAS가 동적 컨텐츠 처리하기에 수월해지기 때문에
  • 암복호화 처리에 WEB SERVER 사용
  • 로드 밸런싱하기 위해
  • 여러개의 서버를 이용할 경우 WAS와 Web Server를 분리하여 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있다.
  • 앞 단에서 처리하기 때문에 was에 문제 생기더라도 해결할 수 있다.

참고:

[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog

WAS 와 웹 서버 차이 (WAS,Web Server) 그리고 아파치, 톰캣

 

WAS

웹 컨테이너 혹은 서블릿 컨테이너 라고도 불린다.

  • 컨테이너란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다 ( == 컨테이너)
  • 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
  • 컨테이너는 web.xml을 참조하여 해당 서블릿에 대한 쓰레드 생성하고 httpServletRequest와 httpServletResponse 객체를 생성하여 전달
  • 컨테이너는 서블릿을 호출
  • 호출된 서블릿의 작업을 담당하게 된 쓰레드는 doPost() 또는 doGet()을 호출한다.
  • 컨테이너는 전달받은 Response 객체를 HttpResponse형태로 바꿔 웹서버에 전달하고 생성되었던 쓰레드를 종료하고 httpServletRequest, httpServletResponse 객체를 소멸시킨다.

WAS의 역할

  • WebServer + Web Container
  • Web Server 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 제시
    • 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용
    • 주로 DB 서버와 같이 수행

Web Server가 필요한 이유?

  • 이미지 파일과 같은 정적인 파일들은 웹 문서가 클라이언트로 보내질 때 함께 가는 것이 아니다.
  • 클라이언트는 HTML 문서를 먼저 받고 그에 맞게 필요한 이미지 파일들을 다시 서버로 요청하면 그때서야 이미지 파일을 받아온다.
  • Web Server를 통해 정적인 파일들을 Application Server까지 가지 않고 앞단에서 빠르게 보내 줄 수 있다.
  • 보안상의 문제를 해결해줄 수 있다.

WAS가 필요한 이유?

  • 요청에 맞는 데이터를 DB에서 가져와서 비즈니스 로직에 맞게 그때 그때 결과를 만들어서 제공함으로써 자원을 효율적으로 사용가능

그럼에도 WEB SERVER가 필요한 이유?

  • 정적인 이미지를 처리함으로써 WAS가 동적 컨텐츠 처리하기에 수월해지기 때문에
  • 암복호화 처리에 WEB SERVER 사용
  • 로드 밸런싱하기 위해
  • 여러개의 서버를 이용할 경우 WAS와 Web Server를 분리하여 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있다.
  • 앞 단에서 처리하기 때문에 was에 문제 생기더라도 해결할 수 있다.

참고:

[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog

WAS 와 웹 서버 차이 (WAS,Web Server) 그리고 아파치, 톰캣

WAS

웹 컨테이너 혹은 서블릿 컨테이너 라고도 불린다.

  • 컨테이너란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다 ( == 컨테이너)
  • 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
  • 컨테이너는 web.xml을 참조하여 해당 서블릿에 대한 쓰레드 생성하고 httpServletRequest와 httpServletResponse 객체를 생성하여 전달
  • 컨테이너는 서블릿을 호출
  • 호출된 서블릿의 작업을 담당하게 된 쓰레드는 doPost() 또는 doGet()을 호출한다.
  • 컨테이너는 전달받은 Response 객체를 HttpResponse형태로 바꿔 웹서버에 전달하고 생성되었던 쓰레드를 종료하고 httpServletRequest, httpServletResponse 객체를 소멸시킨다.

WAS의 역할

  • WebServer + Web Container
  • Web Server 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 제시
    • 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용
    • 주로 DB 서버와 같이 수행

Web Server가 필요한 이유?

  • 이미지 파일과 같은 정적인 파일들은 웹 문서가 클라이언트로 보내질 때 함께 가는 것이 아니다.
  • 클라이언트는 HTML 문서를 먼저 받고 그에 맞게 필요한 이미지 파일들을 다시 서버로 요청하면 그때서야 이미지 파일을 받아온다.
  • Web Server를 통해 정적인 파일들을 Application Server까지 가지 않고 앞단에서 빠르게 보내 줄 수 있다.
  • 보안상의 문제를 해결해줄 수 있다.

WAS가 필요한 이유?

  • 요청에 맞는 데이터를 DB에서 가져와서 비즈니스 로직에 맞게 그때 그때 결과를 만들어서 제공함으로써 자원을 효율적으로 사용가능

그럼에도 WEB SERVER가 필요한 이유?

  • 정적인 이미지를 처리함으로써 WAS가 동적 컨텐츠 처리하기에 수월해지기 때문에
  • 암복호화 처리에 WEB SERVER 사용
  • 로드 밸런싱하기 위해
  • 여러개의 서버를 이용할 경우 WAS와 Web Server를 분리하여 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있다.
  • 앞 단에서 처리하기 때문에 was에 문제 생기더라도 해결할 수 있다.

참고:

[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog

WAS 와 웹 서버 차이 (WAS,Web Server) 그리고 아파치, 톰캣

반응형

'JVM > Spring' 카테고리의 다른 글

[JPA] JPA N+1 문제  (0) 2021.12.03
[Spring Boot] Slack Bot 연동 작업  (0) 2021.11.01
[Spring Boot] [Jpa] [PrePersist] default 값 설정하기  (0) 2021.10.15
[Spring] JPA  (0) 2021.10.09
[Spring Boot] Setter 그리고 update에 대해서  (0) 2021.09.19
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함