티스토리 뷰
나처럼 초보 개발자들이 검색을 하다보면 웹개발->백엔드->웹서버->프레임워크 이렇게 가다가 웹서버와 WAS 차이점 나아가 아파치, 톰캣, JSP, Servlet 등등... 너무 많은 정보들이 나온다. 다 들어봤고 몇개는 사용도 해봤는데 차이점도 모르겠고,,,, 그래서 빙글빙글 도는 머릿속을 내 나름대로 정리를 해보고, 실제로 사용하면서 각각의 장단점 어떤경우에 사용하면 좋을지등을 정리해보려한다.
웹서버란?
-하드웨어 측면
:하드웨어 측면에서 웹서버는 단순히 서버를 돌리는 컴퓨터 정도로 이해하면 될 것 같다. (실행도 시키고 필요한 리소스들 저장도하고)
-소프트웨어 측면
:보통 "웹서버"라고 하면 뜻하는 의미. 웹서버의 가장 주요한 기능은 클라이언트가 요청하는 각종 요소들을 전달하는 것.(http를 통해-얘도 나중에 정리해봐야겠다) 예를들면 브라우저에 검색한 페이지를 보여준다던지 하는 일을 담당한다. 여기서 브라우저가 클라이언트가 되는것!
-웹서버의 종류
: Apache,IIS 등
WAS(Web Application Server)란?
:웹서버 + 웹컨테이너
그림으로 보는게 역시 한눈에 들어온다. WAS는 웹서버와 달리 컨테이너(에 다양한 기능을 구현하여 다양한 역할을 할 수 있는 서버이다.
※컨테이너란
:클라이언트의 요청이 있을 때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에 전달해주는 역할을 하는 것. 자세하게는 jsp와 servlet을 실행시킬 수 있는 소프트웨어이다. jsp컨테이너가 탑재되어 있는 WAS는 jsp 페이지를 컴파일 해 동적인 페이지를 생성하게된다.(jsp와 servlet은 따로 공부를 하면서 정리할 예정)
-종류 : servlet 컨테이너, jsp 컨테이너, EJB 컨테이너 등
-WAS의 종류
:Tomcat,Jeus,Web Logic
?요기서 문제
그럼 WAS안에 웹서버가 있는것이 아닌가 왜 나눠서 생각하지? WAS만 있으면 다 되는건가,,,?? 검색해본 결과 가능하다!
하지만 두개를 분리해서 혹은 같이 쓰는이유는??? 성능차이에 있다고 한다. 정확히는 같이 쓰면 시너지효과를 볼 수 있다고한다. image나 css같은 정적 데이터는 웹서버(아파치)에서 처리하고 WAS(톰캣)은 동적 페이지(jsp,db조작등) 생성에 주력하는게 효율면에서 좋다고한다. ->웹서버를 구성할때 아파치+톰캣으로 구성하여 쓰는 이유인것 같다!!
그래서 이두개를 구분하거나 정의내릴 때 대부분 웹서버-정적인 페이지 서비스 , WAS-동적인 페이지 서비스로 구분한다. 구체적으로는 컨테이너 기능이 가능하냐의 차이로 정리할 수 있겠다!!
웹서버를 다뤄본 경험은 있으나 기본적인 구성에 대해 탄탄하지 않을때 했던 것이라 알듯하면서도 새롭다. 실제로 spring을 사용한 간단한 사이드 프로젝트를 해볼 생각이므로 실제로 하면서 익히는것이 중요할것 같다...
참고자료
'개발' 카테고리의 다른 글
[java 개발자] 자바 개발자가 실수하는 10가지-링크첨부 (0) | 2021.06.11 |
---|---|
[url 매핑]servlet/jsp annotation통한 url설정/root url설정 (0) | 2020.06.18 |
- Total
- Today
- Yesterday
- 알고리즘
- git
- Stomp
- 채팅
- 백준
- 분리 집합
- programers
- Spring
- websocket
- 코딩테스트
- BFS
- 최소 스패닝 트리
- DP
- 프로그래머스
- 완전탐색
- 정렬
- SWEA
- 운영체제
- MST
- java
- JavaScript
- Oracle
- 삼성 sw역량 테스트
- sockjs
- dfs
- 삼성 sw역량테스트
- Heap
- Baekjoon
- 자바
- OS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |