인프런 - 스프링부트 개념 정리(이론) - 정리

9강 - 톰켓이란 무엇인가요?

달팽이포뇨 2023. 3. 22. 19:54

Inflearn 최주호 강사님의 스프링부트 개념정리(이론) 강의를 듣고 정리한 내용입니다.

 

웹서버: 데이터를 갖고 있어서 요청 받고 응답하는 주체, 톰켓: 웹 브라우저가 읽을 수 있게 데이터를 변환하는 역할

- 클라이언트가 IP주소와 URL을 이용해서 자원 요청(request)하면 자원을 줌.(응답 - response)  

-- static 자원(계속 변하는 자원X)

- 서버는 클라이언트의 IP주소를 모르기 때문에 클라이언트가 요청하지 않았을 때, 클라이언트에 자원을 줄 수 없음.

-- 이런 통신을 하려면 소켓을 사용해야함.

웹서버를 아파치(Apache)로만 사용할 때, JAVA코드로 된 요청을 받으면 JAVA를 이해하지 못하기 때문에 처리 불가

-> 아파치에 톰켓을 붙여서 사용하면 아파치가 이해하지 못하는 코드를 톰켓에 넘기고 제어권도 함께 넘긴다. 톰켓은 JAVA코드를 컴파일하고 컴파일된 데이터를 .html에 덮어씌워서 아파치에게 돌려준다. 아파치는 받은 .html 파일로 응답을 보낸다.

- 웹 브라우저는 html, js, css, avi 파일만 이해할 수 있다. 웹 브라우저가 데이터를 읽을 수 있게끔 웹서버+톰켓이 변환해서 응답한다.