728x90
Web Server(웹서버)
- 웹서버란 사용자가 요청하는 정적 컨텐츠를 전달하는 소프트웨를 의미한다.(소프트웨어를 의미할때도 있고 하드웨어를 의미할때도 있음)
- 동적인 웹페이지도 응답을 하지만 동적인 웹페이지
처리는 WAS에서 처리되며 웹서버
에서는 결국 정적인 컨텐츠
를 전달하게 된다.
종류
Apache
Nginx
IIS
등..
동적, 정적
- 정적 컨텐츠
- 정적
컨텐츠란 있는 그대로의 것을 제공하는 것을 의미한다. 예를들어 서버에서 코끼리.jpg
의 이미지를 보여주는 웹페이지가 있을 때 코끼리 사진을 그대로 보여주는 것들을 정적컨텐츠라고 한다.
- 동적 컨텐츠
- 동적
컨텐츠란 서버가
컨텐츠를 처리하여 제공하는 것을 의미한다. 즉, 사용자와 상호작용하며 때에 따라 다른 데이터를 보여주는 웹페이지
를 의미한다.
Web Container(웹 컨테이너)
- Servlet, JSP
를 실행할 수 있는 소프트웨어를 웹컨테이너 또는
서블릿컨테이너
라고 한다.
역할
- 웹서버에서 JSP를 요청
하면 웹컨테이너
에서는 JSP파일을 서블릿 파일로 변환
한 뒤 컴파일
하여 이것을 실행
한 결과를 웹 서버에 전달한다.
WAS
- Web Server
와 Web Container
가 합쳐진 것
- Web Server
는 정적 컨텐츠를 요청에따라 전달해주는 역할을 하는 반면에 WAS
는 사용자의 요청에 따라 서버에서 프로그램을 실행 및 처리한 뒤 그것을 다시 정적인 페이지로 변환해 반환하는 등의 동적인 처리를 담당한다.
동작과정
- 웹서버를 통해 필요한 페이지를 요청받는다.
Container
가web.xml(배포서술자)
를 참조하여스레드를 생성
하고 요청 및 응답 객체(HttpServletRequest, HttpServletResponse)를 생성하여 스레드에게 전달한다.- 스레드 및 요청, 응답 객체 생성을 완료했다면
Container
는 사용자의 요청에 맞는 Servlet을 호출(service())한다. - 호출된 Servlet의 요청을 담당하는
thread
가 요청에 따라 doGet(), doPost()를 호출한다. - 호출된 doPost(), doGet() 메소드는 생성된 동적 페이지를 Response객체에 실어
Container
에게 전달한다. - Container는 전달받은 Response객체를 HttpResponse형태로 전환하여 웹서버에 전달하고 생성되었던 스레드를 종료하고 요청 및 응답 객체를 소멸시킨다.
종류
Tomcat
tmax jeus
JBOSS
Oracle
등..
'Web > Web' 카테고리의 다른 글
Web - HTTP 커넥션 관리(성능 향상을 위한) (0) | 2019.08.25 |
---|---|
Web - cookie 와 session 분석 (servlet 예제) (0) | 2019.03.31 |
Web - WSGI 와 CGI (0) | 2018.12.15 |
Web - Apache 설치 (Window, CentOS7(Linux)) (0) | 2018.12.15 |
DOCTYPE html (0) | 2018.09.05 |