์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 99ํด๋ฝ
- ๋น์ฃผ๊ธฐ์ ํธ
- ๋ฐ์ดํฐ ์ ์ก
- ์ค๋ฅ๊ฒ์ถ
- ์ฝ๋ฉํ ์คํธ์ค๋น
- ์ฃผ๊ธฐ์ ํธ
- leetcode
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- mariadb
- IEEE 802
- ์์๋ฒํธ
- til
- i-type
- ์ค๋ ๋
- ์ฐ๋ถํฌdb
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- git merge
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ๊ฐ๋ฐ์์ทจ์
- ํ ํฐ ๋ฒ์ค
- ํ๋ ์ ๊ตฌ์กฐ
- ์ค๋ธ์
- tcp ์ธ๊ทธ๋จผํธ
- ํญํด99
- reducible
- tcp ํ๋กํ ์ฝ
- well known ํฌํธ
- ํ๋ก์ด๋์์
- xv6
- ์ค๋ฅ์ ์ด
- Today
- Total
Unfazedโ๏ธ๐ฏ
Tomcat์ ๊ตฌ์กฐ, ํ๋ฆ ๋ฐ ์ฉ์ด ๊ฐ๋จ ์ ๋ฆฌ ๋ณธ๋ฌธ
server:tomcat(thread pool ๋ด thread๋ค)-service(connector(http1.1,http2, AJP ..))-Engine:catalina(n๊ฐ์ host๋ค)-host(m๊ฐ์ context(ex) spring project) - context(k๊ฐ์ servlet๋ค)
ํฌํธ๋ฒํธ๋ก ๋์ผ ip ๋ด ๋ค์ํ ์๋ฒ๋ฅผ ๊ตฌ๋ณ(email, file, web server ๋ฑ)
*๋ํดํธ๋ก web server์ ํฌํธ๋ฒํธ๋ 80์ด๊ธฐ๋๋ฌธ์ 80ํฌํธ ์ฌ์ฉ์๋ ์๋ต ๊ฐ๋ฅ
ex)
http://www.springstudy.co.kr/study/list
host : www.springstudy.co.kr
context(/study) => ํ๋ก์ ํธ
servlet(/list) => controller์ ๋น์ทํ ๊ฐ๋ (์๋ฒ ๋ด ์์ ์์ฉํ๋ก๊ทธ๋จ)
servlet : "Server"์ "Applet"์ ํฉ์ฑ์ด.
applet : ํ๋ฌ๊ทธ์ธ์ ํ๋๋ก์ ์ ์ฉ ์์ ฏ ์์ง์ด๋ ๋ ํฐ ํ๋ก๊ทธ๋จ ๋ฒ์ ๋ด์์ ์คํ๋๋ ํน์ ํ ์์ ์ ์ํํ๋ ์์ ์์ฉ ํ๋ก๊ทธ๋จ
์๋ธ๋ฆฟ์ ์๋ฒ ์ธก์์ ์คํ๋์ด ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์๋ต์ ์์ฑํ๋ ์์ ์์ฉ ํ๋ก๊ทธ๋จ
์น ์๋ฒ๊ฐ HTTP ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๊ณผ์
ํ๋ก์ ํธ๋ฅผ ์๋ฒ๋ก ์คํ ํ ๋ค์ ํธ์ถ ์คํ
1. Thread ์คํ: ThreadPoolExecutor$Worker.run()๊ณผ TaskThread$WrappingRunnable.run()์ ์๋ฒ๊ฐ ์๋ก์ด ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์๋ก์ด ์ค๋ ๋๋ฅผ ์์
2. ์์ผ ์ฒ๋ฆฌ: NioEndpoint$SocketProcessor.doRun()์ ๋คํธ์ํฌ ์์ผ์ ํตํด ๋ค์ด์จ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ
3. HTTP ์์ฒญ ์ฒ๋ฆฌ: Http11Processor.service()๋ HTTP ํ๋กํ ์ฝ์ ๋ฐ๋ผ ์์ฒญ์ ์ฒ๋ฆฌ
4. ์์ฒญ ํ์ดํ๋ผ์ธ ์ง์
: StandardEngineValve.invoke()๋ ์๋ธ๋ฆฟ ์ปจํ
์ด๋์ '๋ฐธ๋ธ'๋ฅผ ํตํด ์์ฒญ์ด ์ฒ๋ฆฌ๋๋ ๋จ๊ณ๋ก ์ง์
5. ํํฐ ์ฒ๋ฆฌ: ApplicationFilterChain.doFilter()๋ ์์ฒญ์ด ์๋ธ๋ฆฟ์ ๋๋ฌํ๊ธฐ ์ ์ ํํฐ๋ฅผ ํต๊ณผํ๋ฉฐ, ๋ณด์ ๊ฒ์ฌ, ๋ก๊น
, ์์ฒญ ๋ณํ ๋ฑ์ ์ํ
6. ์๋ธ๋ฆฟ ์ฒ๋ฆฌ: DispatcherServlet.service()๋ DispatcherServlet์ด ์์ฒญ์ ๋ฐ์ ์ ์ ํ ์ปจํธ๋กค๋ฌ๋ก ๋ผ์ฐํ
7. ์ปจํธ๋กค๋ฌ ๋งคํ ๋ฐ ํธ์ถ: RequestMappingHandlerAdapter.invokeHandlerMethod()๋ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์ ํ ์ปจํธ๋กค๋ฌ ๋ฉ์๋๋ฅผ ์ฐพ๊ณ ํธ์ถ
8. ์๋ธ๋ฆฟ ํธ๋ค๋ฌ ์คํ: ServletInvocableHandlerMethod.invokeForRequest()๊ฐ ์ค์ ๋ก์ง์ด ๋ด๊ธด ๋ฉ์๋๋ฅผ ์คํ
9. ๊ฒฐ๊ณผ ๋ฐํ: ์ฒ๋ฆฌ๋ ์์ฒญ์ ๋ํ ์๋ต์ด ์์ฑ๋์ด ํด๋ผ์ด์ธํธ๋ก ๋ฐํ
์ฐธ๊ณ ๋งํฌ :
https://kbss27.github.io/2017/11/16/tomcatarchitecture/
tomcat architecture
tomcat architecture Nov 16, 2017 --> <!-- <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5195321438101134" data-ad-slot="4897566804" data-ad-format="auto"> (adsbygoogle = window.adsbygoogle || []).push({}); --> tomcat์ ๊ตฌ์กฐ๋ฅผ
kbss27.github.io
https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EC%84%9C%EB%B8%94%EB%A6%BF
์๋ฐ ์๋ธ๋ฆฟ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . ์๋ธ๋ฆฟ์ ์ฌ๊ธฐ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค. ๋ค๋ฅธ ๋ป์ ๋ํด์๋ ์๋ธ๋ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ญ์์ค. JSP ํ์ผ์ ์๋ช . ์๋ฐ ์๋ธ๋ฆฟ(Java Servlet)์ ์๋ฐ๋ฅผ ์ฌ์ฉํ์ฌ ์นํ์ด์ง๋ฅผ ๋์ ์ผ
ko.wikipedia.org
'Web (back-end)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์น ํ์ด์ง ๋ก๋ ๊ณผ์ / Process of Loading a Web Page (0) | 2024.01.10 |
---|