웹서버, 웹애플리케이션서버
by BBarkji
클라이언트?
웹 사용자의 인터넷이 연결된 장치들(e.g. 스마트폰, 노트북, 컴퓨터 등)과 이런 장치들과
이런 장치들에서 웹에 접근할 때 이용하는 소프트웨어(e.g. 크롬, 파이어폭스 등의 웹브라우저)
서버?
웹페이지, 사이트, 앱 등을 저장하는 컴퓨터.
클라이언트의 장비가 웹페이지에 접근하길 원할 때,
서버로부터 클라이언트의 장치로 사용자의 웹 브라우저에서 보여지기 위한 웹 페이지 사본이 다운로드 되는 것

> 출처 : http://tcpschool.com/webbasic/works
웹 서버(Web Server)?
- HTTP 프로토콜을 기반으로 웹 브라우저의 요청을 서비스
- 정적인 컨텐츠(e.g. ~.html, ~.png, ~jpg, ~.css)를 제공할 때는 WAS를 거치지 않고 바로 제공
- 동적인 컨텐츠 요청이 들어오면, 해당 요청을 WAS에 보내고, 결과를 WAS가 전달
- e.g. Apache Server, Nginx, IIS…
웹 애플리케이션 서버(Web Application Server)
- DB조회 등 로직 처리를 요구하는 동적인 컨텐츠를 HTTP 통신을 통해 제공
- 웹 컨테이너 혹은 서블릿 컨테이너라고 불림. JSP, Servlet 구동 환경을 제공
- e.g. Tomcat, JBoss, Jeus, Weo Sphere
- 동작 프로세스 ```
- 웹서버 클라이언트의 요청에 맞는 servlet을 메모리에 올린다.
- web.xml을 참조해 해당 servlet에 대한 thread를 생성한다.
- HttpServletRequest, HttpServletResponse 객체를 생성하고,
- 그에 맞는 doGet / doPost 메소드를 호출, 생성된 동적 페이지를 Response 객체에 담아 WAS에 전달한다.
- WAS는 HttpResponse 형태로 바꾸어 웹서버에 전달하고 생성된 스레드와 HttpServletRequest, HttpServletResponse 객체를 제거한다.
```
Subscribe via RSS