일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- recon-ng
- 패시브스캐닝
- 강의
- Container
- OIDC
- ip forwarding
- 계정 탈취
- OpenID Connect
- Shift + ESC
- SecurityMetric
- AttackGraph
- Kublet
- 넷크래프트
- 액티브스캐닝
- cgroups
- Mac
- airdecap-ng
- Social Network in Game
- 무선채널
- 보안
- Chrome 작업관리자
- 화이트해커
- Mimikatz
- decap
- 공격그래프
- davtest
- 대학원
- dnsenum
- 프로젝트
- NMAP
- Today
- Total
네른
3. WAS 본문
WAS란 Web Application Server의 줄임말로, 웹 서버를 구성하는 데 있어 주로 사용되는 큰 요소 중 하나이다.
보편적으로 알고있는 웹 서버의 경우, 정적인 웹 페이지를 사용자에게 제공하는 데 주로 사용된다.
- 여기서 정적인 웹 페이지란, 사용자의 요청에 따라 이미 서버에 저장되어 있는 특정 파일들을 사용자에게 보여주는 페이지를 말한다.
- 사용자는 정적인 웹 페이지를 볼 때, 서버에 저장된 파일, 정보가 변경되지 않는 이상 항상 동일한 화면을 보게 된다.
반면, WAS는 사용자에게 동적 웹 페이지를 제공하고자 할때 주로 사용된다.
정적 페이지에서는 다 처리 할 수 없는 경우, 다시말해 사용자의 요청에 따라 다른 응답을 제공해야 할 때 동적 페이지를 사용하게 된다.
- 예를 들어, 웹 페이지에 띄워야 할 내용에 데이터베이스 조회, 별도의 로직이 필요한 경우를 말한다.
- 대표적으로 JSP, Servlet등의 환경을 이용하여 제공한다.
WAS가 데이터를 처리하는 과정은 크게 다음과 같다.
1. 앞단의 웹 서버에서 사용자의 요청에 대한 정적 웹 페이지를 제공한다.
2. 만약 요청이 정적 웹 페이지로 해결되지 않는 경우, 웹 서버는 이를 WAS의 컨테이너(Container - Servlet Container 등을 의미)에 전달한다.
- 여기서 Servlet 이란 Server Application let(조각)의 약자로, 자바를 이용하여 동적인 웹 페이지를 생성할 때 사용된다.
- 서블릿? 서브렛? 다양하게들 읽으시던데 서블릿이 대표적인 것 같다.
3. 컨테이너는 전달받은 요청에 따라 Servlet을 호출한다.
4. 호출된 Servlet은 생성된 스레드에 의해 doGet(), doPost()와 같은 함수가 호출된다.
- 스레드는 컨테이너에 의해 생성되고 관리된다.
- 서블릿 또한 WAS의 컨테이너가 객체를 생성하고 관리한다.
- 컨테이너의 주 역할이 이러한 스레드의 라이프사이클 관리.
5. 호출된 함수의 결과가 컨테이너에게 전달되고, 컨테이너는 이를 웹 서버에 전달한다.
'궁금 > 아무거나' 카테고리의 다른 글
5. Spring Framework 특징 (0) | 2020.06.17 |
---|---|
4. Container(컨테이너), Kubernetes(쿠버네티스) (0) | 2020.06.17 |
[아무거나] 2. Windows Active Directory (Directory Service) (0) | 2017.12.04 |
[아무거나] 1. SMTP, POP Protocol (0) | 2017.09.20 |