[기본 지식] Web / WAS

기록지·2021년 4월 13일
0

뉴딜일자리

목록 보기
2/15
post-thumbnail

웹서버(WEB)란?

클라이언트가 서버에 페이지 요청을 하면 요청을 받아 정적 컨텐츠(.html, .png, .css등)를 제공하는 서버
클라이언트에서 요청이 올때 가장 먼저 요청에 대한 처리를 한다.

정적 컨텐츠를 요청했으면 ?
1. 정적 컨텐츠구나! 내가 제공할게 -> .html,.png 등 응답(respnose)
2. 정적 컨텐츠가 아니구나. 웹서버에서 간단히 처리 못하겠군. WAS에게 처리를 부탁해야겠다.
-> 결국 WAS가 처리해준 컨텐츠를 받은 웹서버는 응답(response)을 해줌.
ex. Apache,nginx

WAS(Web Application Server)란?

동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버(DB조회, 로직처리가 요구되는 컨텐츠)
JSP, Servlet 구동 환경 제공
컨테이너, 웹컨테이너, 서블릿 컨테이너라고도 불림

  • jsp, servlet 을 실행시킬 수 있는 소프트웨어 = 컨테이너

동적 프로세스

  1. 웹서버로부터 요청이 오면 컨테이너가 받아서 처리

  2. 컨테이너는 web.xml 을 참조하여 해당 서블릿에 대한 쓰레드를 생성하고 httpServletRequest와 httpServletResponse 객체를 생성하여 전달한다.

  3. 컨테이너를 서블릿을 호출한다.

  4. 호출된 서블릿의 작업을 담당하게 된 쓰레드(2번에서 만든 쓰레드)는 doPost()또는 doGet()을 호출한다.

  5. 호출된 doPost(), doGet() 메소드는 생성된 동적 페이지를 Response객체에 담아 컨테이너에 전달한다.

  6. 컨테이너는 전달받은 Response객체를 HTTPResponse형태로 바꿔 웹서버에 전달하고 생성되었던 쓰레드를 종료하고 httpServletRequest, httpServletResponse 객체를 소멸시킨다.

ex : Tomcat, Jeus, JBoss

0개의 댓글