Spring

[메타코딩] 9강. 스프링 부트의 동작원리?

joje* 2023. 9. 21. 00:26

2. 서블릿 컨테이너

: 서블릿이란 java로 웹을 동작시킬 수 있게 만드는 것을 의미한다. 서블릿 컨테이너는 이러한 자원을 모아둔 컨테이너를 의미한다. 

: 정적인 자원(.html, .css, .png)에 대한 요청은 무조건 웹 서버가 동작하고, 톰캣은 실행되지 않는다. 

**URL: 자원에 접근할 때의 주소 접근 방식(ex>http://naver.com/a.png),

  URI: 식별자를 통해 주소 접근 방식(ex>http://naver.com/picture/a)

: 스프링은 정적인 자원에 대한 요청 방식(URL 접근방식)을 모두 막아두었기 때문에, 특정한 파일에 대한 요청을 할 수가 없다.즉, 요청 시에 무조건 java를 거쳐야 한다.결국, 톰캣을 이용해 자원을 접근하게 된다.

 

: Request가 동시에 여러 개 생성될 때, 서블릿 컨테이너 내부의 서블릿 객체는 설정된 갯수만큼 스레드를 생성하고, 각각의 스레드들은 요청에 대한 처리를 진행한다. 

: 만약 스레드가 생성될 수 있는 최대 갯수를 넘은 n번째 요청이 들어온다면, 해당 요청은 이전 요청이 끝날 때까지 대기하였다가 요청을 끝낸 스레드가 이를 받아 처리한다.

: 즉, 이미 생성된 스레드는 요청이 끝날 때까지 재생되어 사용되게 된다.