2023. 1. 24. 15:32ㆍIT
1. 웹서버(Apache, Nginx 등등)
: 웹 서버는 브라우저가 서버에 페이지를 요청할 때 가장 앞에서 html, png, css 같은 정적인 내용에 대해 응답하는 서버
==> Static Page (정적 페이지)
1) Web Server는 파일 경로 이름을 받아 경로와 일치하는 파일 내용을 반환한다.
2) 항상 동일한 페이지를 반환한다.
3) Ex - image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들
4) 작동순서 :
Client -> GET -> Web Server -> DB -> File Contents -> Web Server -> Response
2. 웹 어플리케이션 서버(Tomcat, JBoss 등등)
: DB 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server, HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진)
(웹 컨테이너(Web Container)” 혹은 “서블릿 컨테이너(Servlet Container)”라고도 불린다.)
Container란, JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다.
즉, WAS는 JSP, Servlet 구동 환경을 제공한다.
==> Dynamic Pages(동적 페이지)
1) 인자의 내용에 맞게 동적인 contents를 반환한다.
2) 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물
3) 개발자는 Servlet에 doGet()을 구현한다. (Servlet: WAS 위에서 돌아가는 Java Program)
4) 작동순서 :
Client -> GET -> [Web Application Server -> JVM -> Servlet] -> doGet(res,res) -> DB -> File Contenrs -> Servlet -> JVM -> Web Application Server -> Response
3. 웹 서버와 웹 어플리케이션 서버를 같이 쓰는 이유?
어떤 사람들은 목적에 따라 즉, 정적/동적 데이터에 따라 분리하는 것이 더 효율적이기 때문이라고 주장한다.
WAS가 능력이 좋다고 해서 정말 다 맡겨버리면 과부하가 걸려서 좋지 않다.
하지만, 이미 성능은 Tomcat 5.5 버전부터 전혀 문제될 게 없다.
오히려 정적인 데이터 처리를 위해서 굳이 Tomcat 앞에 또 아파치 웹 서버를 두는 게 관리 부담과 불필요한 과부하만 생긴다.
다른 기능이나 모듈을 사용해야할 필요가 있을 경우 즉, 하나의 서버에서 PHP 애플리케이션과 자바 애플리케이션을 함께 사용하거나, 간단한 로드 밸런싱이 필요한 경우에 함께 사용할 수 있다고 합니다.
정리하자면,
1) 하나의 웹 서버에서 다른 언어의 어플리케이션을 함께 사용할 경우
2) 로드밸런싱이 필요한 경우 - 특정 서버에서 에러/과부하가 발생할 경우 다른 서버가 정상 작동
3) 무중단 배포가 필요한 경우
4) 보안을 강화할 경우 - Web Server에서 해킹 당해도 WAS는 정상 작동
'IT' 카테고리의 다른 글
[WEB] WEB 3.0이란 무엇일까? (0) | 2023.01.24 |
---|---|
[SERVER] 리눅스 자격증 LFCS란 무엇일까? (0) | 2023.01.24 |
[캘린더] 간단하고 재밌는 ToDoList, 일과 생활 관리를 위한 사이트 (0) | 2023.01.24 |
[2023] 간단하게 블로그 구글,네이버 검색되게 하는 방법 (0) | 2023.01.17 |
[2023] 간단하게 블로그에 광고넣는 방법 (2) | 2023.01.17 |