티스토리 뷰
반응형
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
반응형
'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
링크
TAG
- 파이썬
- Collections
- Command Line
- env
- Java
- Linux
- 자바
- docker
- Celery
- BFS
- 알고리즘
- Pattern
- DRF
- 프로그래머스
- 2021 KAKAO BLIND RECRUITMENT
- django
- 면접
- 그래프
- Python
- 백준
- dockerignore
- thread
- postgres
- PostgreSQL
- headers
- docker-compose
- 카카오
- Spring
- setattr
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함