코딩하는 둥둥

[ Springboot ] Springboot 동작원리 : 톰켓이란 무엇인가요? 본문

Backend/스프링부트 개념정리(이론)

[ Springboot ] Springboot 동작원리 : 톰켓이란 무엇인가요?

둥둥 2022. 2. 17. 01:47
728x90
톰켓

http : 소켓을 이용해서 만들어짐

프로그램을 만들때 소켓을 불러서 사용하는것을 시스템콜이라고 함

* 시스템콜 : https://fjvbn2003.tistory.com/306

 

[운영체제] 시스템 콜 (System Call)

본 포스팅의 내용은 Operating System Concepts 10th, Operating Systems Three Easy Pieces를 참조하여 작성되었습니다. 오늘은 운영체제를 배우다 보면 많이 접하게 되는 시스템 콜에 대해 알아보겠습니다. 시..

fjvbn2003.tistory.com

 

  • 톰켓 VS 웹서버
  톰켓 웹서버
정의




  아파치는 자바코드를 이해하지 못함.
JSP나 자바코드를 요청했을 경우 응답하지 못함
→ 그래서 톰캣을 이용

1. 아파치가 자신이 이해하지 못하는 파일에 대한 요청이 오면 제어권을 톰켓에게 넘김
2. 톰켓은 .JSP파일안에 있는 모든 자바파일을 컴파일
3. 컴파일이 끝나면 컴파일된 데이터를 .html에 덮어씌움

=> tomcat의 하는 일 
: 자바코드를 컴파일하고 html문서로 만들어줌

4. 파일을 아파치에 돌려줌
5. 아파치는 해당 html파일을 응답해줌



※ 아파치 : 요청한 파일을 응답
※ 톰켓 : 요청한 파일중 자바코드가 요청이되면 그것을 컴파일해서 html파일로 번역해서 돌려줌
HTTP웹서버는 갑
즉, 을이 필요한 데이터를 가지고 있음
→ 을이 갑에게 request(요청)
* request할때는 내 컴퓨터의 위치를 알아야해서 ip주소가 필요함
어떠한 데이터가 필요한지 명시해줘야 하기때문에 이것들을 url로 만듬
* url : 자원을 요청하는 주소, 자원의 위치를 요청해서 필요한 데이터를 가져올 수 있게 해줌
( l : location )

갑은 을에게 응답(response)
을이 요청한 ip주소를 토대로 (request시 자기가 누군지를 밝힘) response해줌
* http에서 갑은 을의 주소를 모름(알필요가 없음)
=> 갑은 을이 요청하지 않았을때 응답할수 없음

을의 주소를 알기위해서는 socket이 필요함
socket은 을이 연결을 하는순간 response를 해주지만 연결이 계속 지속되어있어야 함(socket통신 = 연결 지속되어있는 통신)
but. http통신은 요청시 응답만 해주는 구조
응답은 단순하게 html문서 or 특정자원을 응답해줌
(이때 자원은 static 자원 : 정적인 자원)

* static 자원 : 정적인 자원으로 바뀌지 않음
https://dololak.tistory.com/78

 

요청시 웹 브라우저 이용시 JSP파일을 요청했을때 .JSP파일을 찾아서 돌려주기만 한다면 웹서버

웹 브라우저는 html, javaScript, CSS, avi와 같은 정적인 것들만 이해할 수 있기때문에 요청한 데이터가 html파일이면 웹 브라우저에서 잘 열릴것
but, jsp 파일을 요청하면 웹 브라우저가 jsp파일을 이해하지 못하기때문에 깨짐

728x90