[tomcat] 톰켓(도식화)과 웹 서버 차이 알기
웹서버 : 아파치
내 컴퓨터에 있는 동영상을 친구들이 보고 싶어서
인터넷 통신을 통해서 요청과 응답을 해
HTTP 통신은 갑은 여기서 을에 IP주소를 몰라
ㄴ 을의 주소를 알려면 소켓을 써야해.
ㄴ 소켓을 연결하는 순간 지속되있는 통신이잖아?
ㄴ 소켓을 사용했기에 갑은 언제나 응답할 수 있어.(http 통신만 사용하면 응답하고 싶을때 못하지)
하지만 HTTP 통신은
단순하게 응답을 해주지
STATIC 자원이라 불린다(정적 자원)
웹서버는 정적 자원을 처리해주는 일을 하는거야.
그럼 그외 작업은? 🔽
톰캣(Was - Web Application Server )과 웹서버 ( WEB Server )
웹브라우저는 정적인 파일만 이해가능하다
(html, js, css, 동영상 등)
요청한 데이터가 .jsp타입이고 돌아올때 .jsp로 돌아오면
아파치가 이해하지 못하고 톰캣한테 전달한다.
그럼 톰캣은 자바파일을 컴파일을 해서 HTML 파일로 만들어서 아파치에다 돌려준다.
[정리]
웹브라우저가 html을 요청했다면 아파치가 동작하여
잘 열리겠지?
근데 만약에 .JSP를 요청했을때 그대로 JSP를 돌려준다면?
웹 브라우저는 html파일 밖에 읽지 못하기 때문에( 내용이 깨져버린다 )
톰캣이 컴파일해서 apach한테 html파일을 넘겨주고
다시 웹브라우저에 html파일로 보내준다.(정상적으로 파일을 읽을 수 있다, 웹 브라우저는 html, css, js 파일을 읽어주는 프로그램이라고 생각하면 돼)
[또 정리]
아파치 : 요청한 파일을 응답
톰캣 : 요청한 파일 중에 자바파일이면 컴파일해서 HTML 파일로 번역해서 돌려준다.
1. 정적 리소스(html. css, js, 이미지)는 웹 서버가 처리
2. 웹 서버는 애플리케이션 로직 같은 동적인 처리가 필요하면 WAS에 요청을위임
3. WAS는 중요한 애플리케이션 로직 처리 전담. (DB접속까지)
출처 : 스트링부트 개념정리 9강 - 톰켓이란 무엇인가요? - 최주호(인프런)
학습 페이지
www.inflearn.com