์ด๋ฒ์๋ ์ง๋๋ฒ์ ์ธํฐ๋ท ๊ณต๋ถํ๋ค๊ฐ ๋์จ
๋ธ๋ผ์ฐ์ ์ ์น์ ๋์์ ๋ค๋ค๋ณด๋ ค๊ณ ํ๋ค
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ํฌ๋กฌ, ํ์ด์ดํญ์ค ๋ฑ๋ฑ์ด ์น ๋ธ๋ผ์ฐ์ ์ธ๋ฐ,
์ปดํจํฐ๋ฅผ ํค๊ณ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ์ง ์์๊น ์ถ์๋ฐ
์ ์ ์ด๊ฒ ๋ญ๋ค!๋ผ๊ณ ์ ์ํ ์ผ์ ์์๋ ๊ฒ ๊ฐ๋ค
์ํผ ์ง๊ธ ๋ด๋ณด๋๊ฑธ๋ก
์ธํฐ๋ท ๋์์ด ๊ถ๊ธํ๋ค๋ฉด ↓ ↓ ↓
1. Internet ๋์ ์๋ฆฌ
์ฐ๋ฆฌ๊ฐ ์ฐ๋ ์ธํฐ๋ท์ ํ ๋ง๋๋ก ์ ์ํ์๋ฉด ์ด๋ค ๊ฑธ๊น? ๋์ถฉ ์ธํฐ๋ท ๊ณต๋ถํ๋จ ๋ง 1. ์ธํฐ๋ท์ด๋? ์ธํฐ๋ท์ ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ์น ์ฌ์ดํธ!! ์ ํต์ฌ์ด๋ค ๊ฐ์ฅ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ ์ธ๊ณ ์ฌ๋๋ค์ด ์ปดํจํฐ๋ ๋ชจ
mutpp.tistory.com
1. ๋ธ๋ผ์ฐ์ (Browser)๋?
๋ธ๋ผ์ฐ์ ๋ ์น ๋ธ๋ผ์ฐ์ (web browser) ๋๋
์ธํฐ๋ท ๋ธ๋ผ์ฐ์ (internet browser)๋ก ๋ถ๋ฆฐ๋ค
์ํค๋ฐฑ๊ณผ์ ์ ์๋ฅผ ์ธ์ฉํ๋ฉด ์๋์ ๊ฐ์ด ์ค๋ช ํ ์ ์๋ค
์น ์๋ฒ์์ ์ด๋ํ๋ฉฐ ์๋ฐฉํฅ์ผ๋ก ํต์ ํ๋ค
HTML ๋ฌธ์๋ ํ์ผ์ ์ถ๋ ฅํ๋ ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ค
์ฝ๊ฒ ๋งํ๋ฉด ์น ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๋๊ตฌ๋ผ๊ณ ๋งํ ์ ์๊ฒ ๋ค
์ฐธ๊ณ ๋ก ์๋๋ ์น ๋ธ๋ผ์ฐ์ ์์ฅ ์ ์ ์จ์ธ๋ฐ
์ด๋ก์์ด ํฌ๋กฌ์ธ๋ฐ ใทใทํ๋
์ฌ์ ํ ๋์ ์ ์ ์จ์ ๊ฐ๊ณ ์๋ ํฌ๋กฌ ์ ์,,,
๋๋ ํฌ๋กฌ์ ๊ฐ์ฅ ๋ง์ด ์ฐ๋๋ฐ
๋ชจ๋ฐ์ผ๋ก๋ ์ฌํ๋ฆฌ๋ฅผ ๋ง์ด ์ฐ๊ณ , ์์ฆ์ ๋ค์ด๋ฒ ์จ์ผ๋ ๋ง์ด ์ด๋ค ใ
2. ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ
๊ทธ๋ผ ๋ธ๋ผ์ฐ์ ๋์์ด๋ผ๋ ๊ฒ ์ด๋ค ์๋ฏธ์ผ๊น
์ฐ๋ฆฌ๊ฐ ์ฃผ์์ฐฝ์ www.google.com... ์ด๋ ๊ฒ ์ ๋ ฅํ์ ๋
์ด๋ค ๊ณผ์ ์ ๊ฑฐ์น๊ธธ๋ ํ๋ฉด์ ๋ณด์ด๋...
๋ผ๊ณ ์ค๋ช ํ ์ ์๊ฒ ๋ค
์ฌ์ค ๋ธ๋ผ์ฐ์ ์ ์ฃผ์ ๊ธฐ๋ฅ์
์ฌ์ฉ์๊ฐ ์ ํํ ์์์ ์๋ฒ์ ์์ฒญํ๊ณ ๋ธ๋ผ์ฐ์ ์ ํ์ํ๋ ๊ฒ์ผ ๋ฟ์ด๋ค
์ฐ๋ฆฌ๊ฐ ์น ๋ธ๋ผ์ฐ์ ์์ ๋ณด์ด๋ ๋ชจ๋ ๊ฒ์ ์ฌ๋ฌ ํํ๋ฅผ ๊ฐ์ง
(HTML ๋ฌธ์๋ ์ด๋ฏธ์ง ๋ฑ๋ฑ) ๋ธ๋ผ์ฐ์ ์ ์์์ด๋ค
์ด ๋ชจ๋ ์์์ ๊ฐ๊ฐ ๊ณ ์ ํ ์ด๋ฆ์ ๊ฐ์ง๋ ์ฃผ์๋ก ๊ตฌ๋ถ๋๋๋ฐ,
์ด๊ฒ์ด ๋ฐ๋ก URI (Uniform Resource Identifier)์ด๋ค
์๋ฆ ใทใท
๋ธ๋ผ์ฐ์ ๋ ์์ฑ๋์ด์๋ HTML๊ณผ CSS์ ๋ฐ๋ผ์
์ด๋ฅผ ํ๋ฉด์ ํ์ํด์ค๋ค
์ด๋ฐ ๊ท์น์ ์น ํ์คํ ๊ธฐ๊ตฌ์ธ W3C์์ ์ ํด์ค๋ค
* W3C (World Wide Web Consortium)๋? *
WWW์ ์ํ ํ์ค์ ๊ฐ๋ฐํ๋ ์กฐ์ง
์น์ ์ฑ์ฅ์ ๋๋ชจํ๋ ํ๋กํ ์ฝ๊ณผ ๊ฐ์ด๋๋ผ์ธ์ ๊ฐ๋ฐํจใ
3. ๋ธ๋ผ์ฐ์ ์ ๊ตฌ์กฐ
๋ธ๋ผ์ฐ์ ์ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค
ํ๋์ฉ ๊ฐ๋จํ ๋ณด์..
(1) User Interface
์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ ์ค์ฌ์ UI๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ
์ฃผ์ ํ์์ค, ์ด์ /๋ค์ ๋ฒํผ, ๋ถ๋งํฌ ๋ฒํผ ๋ฑ๋ฑ
์์ฒญํ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฐฝ์ ์ ์ธํ ๋๋จธ์ง ๋ถ๋ถ์ด๋ค
(2) Browser Engine
UI์ Rendering Engine ์ฌ์ด์ ๋์์ ์ ์ดํ๋ค
(3) Rendering Engine
์์ฒญํ ์ฝํ ์ธ ๋ฅผ ํ์ํด์ค
HTML์ด๋ CSS๊ฐ ๋ญ ๋ด์ฉ์ธ์ง ์ฝ์ด์ ํ๋ฉด์ ๋ฟ๋ ค์ค
(4) Networking
HTTP ์์ฒญ ๊ฐ์ ๋คํธ์ํฌ ํธ์ถ์ ์ฌ์ฉ๋จ
๋คํธ์ํฌ๋ ๋ท๋จ(?)์์ ๋์ํ๋ ๊ฑฐ๋ผ ํ๋ซํผ ํ๋ถ์์ ์คํ๋จ
ํ๋ซํผ ๋ ๋ฆฝ์ ์ธํฐํ์ด์ค์ด๋ค
* ํ๋ซํผ์ด๋? *
์์ฉ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ์ ์๋ ๊ธฐ์ด๋ฅผ ์ด๋ฃจ๋ ์ปดํจํฐ ์์คํ ๋๋ ํ๊ฒฝ์ ๋ปํจ.
OS, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, GUI ๋ฑ๋ฑ์ ๊ตฌ์กฐใ
(OS๋ ๋น์ทํ๋ฐ OS๋ ์ปดํจํฐ์ ์ฌ์ฉ์ ์ฌ์ด์ ์ธํฐํ์ด์ค)
* ํ๋ซํผ ๋ ๋ฆฝ์ /๋ ๋ฆฝ์ฑ์ด๋? *
ํ๋ซํผ์ด window/linux/mac os ๋ฑ๋ฑ ํน์ ์ด์์ฒด์ ๋ ๊ธฐ๊ณ์ ์์กดํ์ง ์๋ ๊ฒ์ ๋ปํจ
(5) JavaScript Interpreter
Javascript๋ก ๋ ์ฝ๋๋ฅผ ํด์ํ๊ณ ์คํํด์ค
(6) UI Backend
์ฝค๋ณด ๋ฐ์ค ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค์ ๊ทธ๋ ค์ค
OS ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ด๊ฒ ๋ฌด์จ ๋ป์ด๋๋ฉด
๋ค๋ก ๊ฐ๊ธฐ๋ ํ ๋ฒํผ ์๋ฐ ๊ฒ window๋ mac์์ ๊ธฐ๋ณธ ๋ชจ์์ด ๋ค๋ฅด๊ฒ ๋ณด์ด๋๋ฐ
์๋ ๊ฒใ ๋ชจ์๋ ์กฐ๊ธ์ฉ ๋ค๋ฅด๊ณ ์ด์์ฒด์ ์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋ชจ์์ด ๋ค๋ฆ
(7) Data Persistence
๋ง ๊ทธ๋๋ก ์๋ฃ ์ ์ฅ์๋ก, ์ฟ ํค ๊ฐ์ ์น์์ ์ฌ์ฉํ ์์๋ค์ด ์ ์ฅ๋๋ค
4. Rendering Engine
๋ ๋๋ง ์์ง์ ์์์ ์ ๊น ์๊ธฐํ ๊ฒ์ฒ๋ผ,
์์ฒญํ ์ฝํ ์ธ ๋ฅผ ํ์ฑ ํ์ฌ ํ๋ฉด์ ๋ฟ๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค
๋ ๋๋ง (Rendering)
์ด๋ฏธ์ง ํฉ์ฑ์ด๋ผ๊ณ ๋ ํ๋๋ฐ, ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ผ๋ก
์ด๋ฏธ์ง๋ ์์์ ๋ง๋ค์ด๋ด๋ ๊ณผ์ ์ด๋ ๋ป์ด๋ค
์ฆ, ๋ ๋๋ง ์์ง์ ๋ธ๋ผ์ฐ์ ์ ์ด๋ฏธ์ง๋ฅผ ๋ฟ๋ ค์ฃผ๋ ์ญํ ์ด๋ค
๋ ๋๋ง ์์ง๋ ์ข ๋ฅ๊ฐ ์ฌ๋ฌ ๊ฐ์ง์ด๋ค
ํ์ด์ดํญ์ค๋ ๋ชจ์ง๋ผ์์ ๋ง๋ Gecko(? ๋๋ง๋ฑ๋ถ์ด) ์์ง์ ์ฌ์ฉํ๊ณ
ํฌ๋กฌ/์ฌํ๋ฆฌ๋ Webkit(์นํท) ์์ง์ ์ฌ์ฉํ๋น
* Webkit (์นํท) ์ด๋? *
chrome developers์์ ์ฝ์ ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ ๋๋ง ์์ง์ ์ค๋ช ํ ๊ฑฐ๋ผ,
์นํท์ ์ด์ง๋ง ์ค๋ช ํ๊ฒ ๋ค
์นํท์ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ง๋๋ ๊ธฐ๋ฐ์ ์ ๊ณตํ๋ ์คํ ์์ค ํ๋ ์์ํฌ์ด๋ค
์๋๋ ๋ฆฌ๋ ์ค ํ๋ซํผ์์ ๋์ํ๊ธฐ ์ํ ์คํ ์์ค ์์ง์ด์์ง๋ง
Apple์ด mac os์์ ์ฌํ๋ฆฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํ๊ธฐ ์ํด ์์ ์ ํ๋ค๊ณ ํ๋ค
์ง๊ธ์ ์๋๋ก์ด๋ ํ๋ซํผ์๋ ์ฌ์ฉ๋๋ ๋ ์์ด๋ค
(1) Rendering Engine ๋์ ๊ณผ์
๋ ๋๋ง ์์ง์ Networking์ผ๋ก ๋ฌธ์์ ๋ด์ฉ์ ์์ฒญํ๊ณ
์๋ต๋ฐ์ ๋ฌธ์(HTML ๋ฑ)๋ฅผ ํ์ฑ ํ๊ณ
์ด๋ฅผ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋๋ก ์น ํ์ด์ง๋ก ๋ณํํด์ค๋ค
๋ ๋๋ง ์์ง ๋์ ๊ณผ์ ์ ํ๋์ฉ ๋ด๋ณด์
[ DOM(Document Object Model) ๊ตฌ์ฑ ]
Network Request๋ก ๋ฐ์ ๋ฌธ์๋ก HTML ๋ฌธ์๋ฅผ ํ์ฑ ํ๊ณ
๊ฐ ์์์ ํ๊ทธ๋ฅผ DOM์ด๋ ๋ ธ๋๋ก ๋ณํํ๋ค
DOM์ด ๋ญ์
๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ๋ก XML์ด๋ HTML ๋ฌธ์์ ์ ๊ทผํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ค
์น ๊ฐ๋ฐ์๊ฐ Javascript๋ฅผ ํตํด ์ํธ ์์ฉํ ์ ์๋
๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ API ๋ฑ์
ํ์ด์ง์ ๋ํ ๋ธ๋ผ์ฐ์ ์ ๋ด๋ถ ํํ์ด๋ค
HTML ๋ฌธ์๋ฅผ DOM์ผ๋ก ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๊ฑด HTML ํ์ค์ ๋ฐ๋ฅธ๋ค
์ฐธ๊ณ ๋ก HTML์ ์๋ชป๋ ์ฝ๋๋ฅผ ์ ์ด์ ์ค๋ฅ๊ฐ ์์ด๋
์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ค๋๋ฐ ์ฐธ ์ ๊ธฐํ ๊ธฐ๋ฅ์ด๋ค ใ
[ Render ํธ๋ฆฌ ๊ตฌ์ถ ]
HTML ๋ฌธ์๋ฅผ ํ์ฑ ํด์ DOM ํธ๋ฆฌ๋ฅผ ๊ตฌ์ถ์ ํ๋ค๋ฉด
CSS์ ์คํ์ผ ์์๋ค์ ๋ ๋ ํธ๋ฆฌ๋ผ๋ ๋ ๋ค๋ฅธ ํธ๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๋ค
์๋ค๋ค์ ์ธ๋ถ ๋ฆฌ์์ค๋ผ๊ณ ํ๋๋ฐ, ์ด๋ฏธ์ง/CSS/JavaScript ๋ฑ์ด ํด๋น๋๋ค
์์์ด๋ ํฌ๊ธฐ ๊ฐ์ ์์๊ฐ ๋ค์ด์๋ค
์ด๋ฐ ํ์ผ์ ๋คํธ์ํฌ/์บ์์์ ๋ก๋๋ฅผ ํด์ผํ๋น
[ Render ํธ๋ฆฌ ๋ฐฐ์น ]
๋ ๋ ํธ๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๋ฉด,
๊ฐ ๋ ธ๋๊ฐ ํ๋ฉด์ ์ ํํ ์์น์ ํ์๋๋๋ก ๋ฐฐ์น๊ฐ ๋๋ค
[ Render ํธ๋ฆฌ ๊ทธ๋ฆฌ๊ธฐ ]
๋ฐฐ์น๋ ๋ ๋ ํธ๋ฆฌ๋ UI ๋ฐฑ์๋์์ ์ด๋ฏธ์ง๊ฐ ๊ทธ๋ ค์ง๋ค
๋ ๋๋ง ๊ณผ์ ์ ํ ๋ฒ์ ๋ญ!! ํ๋ฉด์ ๊ทธ๋ ค์ง๋ ๊ฒ ์๋๊ณ ,
์ฐ๋ฆฌ๊ฐ ์นํ์ด์ง๋ฅผ ๋ณผ ๋ ๋จผ์ ๋์ค๋ ๋ถ๋ถ์ด ์๊ณ
์ ์ฒด ๋ค ํ๋ฉด์ ๋ฟ๋ ค์ง๋ ๊ฑด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝํ์ด ์์ ํ ๋ฐ
๋ ๋๋ง ๊ณผ์ ์ด ์ ์ง์ ์ผ๋ก ์งํ๋๊ธฐ ๋๋ฌธ์ด๋ค ใ
๋จผ์ ๋ฐ์ ๊ฒ๋ค์ ๋จผ์ ๋ฟ๋ ค์ค๋ค
5. Layout
๋ ๋๋ง ๊ณผ์ ์ ํตํด ๋ธ๋ผ์ฐ์ ์ ๋ํ๋ ๋ฌธ์์ ๊ตฌ์กฐ์
๋ ธ๋์ ์คํ์ผ์ ์๊ณ ๋ ์์ง๋ง
ํ์ด์ง๋ฅผ ์๋ฒฝํ๊ฒ ๋ ๋๋ง ํ๊ธฐ์ ๋ญ~๊ฐ ๋ถ์กฑํ๋ค
๋ง์ฝ์ ์น๊ตฌํํ ์ ํ๋ก ๊ทธ,, ๋นจ๊ฐ ์์ด๋ ํ๋ ๋ค๋ชจ ๊ทธ๋ ค๋ด
ํ๋ฉด ์ด๋์ ๊ทธ๋ ค์ผ ํ๋๋ฐ? ๊ฐ ๋น ์ ธ์๋จ ์๊ธฐ.
๊ทธ๋์ ํ์ํ ๊ธฐ๋ฅ์ด Layout (๋ฐฐ์น)์ด๋ค
HTML๊ณผ ์ธ๋ถ ๋ฆฌ์์ค๋ก DOM ํธ๋ฆฌ๋ฅผ ๊ตฌ์ถํ ์ ์๊ณ ,
x/y ์ขํ๋ ํฌ๊ธฐ ๊ฐ์ ์ ๋ณด๊ฐ ์๋ Layout ํธ๋ฆฌ๋ ์์ฑ๋๋ค ใ
๋ ์ด์์ ํธ๋ฆฌ๋ ๊ตฌ์กฐ๋ DOM ํธ๋ฆฌ๋ ๋น์ทํ๋ฐ
ํ์ด์ง์ ํ์๋๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ํฌํจํ๋ค๊ณ ํ๋ค
6. Paint
๊ทผ๋ฐ ์์ง ๋ญ๊ฐ ๋ถ์กฑํ๋ค...
DOM, ์คํ์ผ, ๋ ์ด์์์ ๋ค ์์ง๋ง...! ๊ทธ๋ ์ง๋ง...!
๋๊ทธ๋ผ๋ฏธ๋ถํฐ ๊ทธ๋ฆด์ง ๋ค๋ชจ๋ถํฐ ๊ทธ๋ฆด์ง ์์๋ ๋ชจ๋ฅธ๋ค
๊ทธ๋ฅ ๋ญ ์๊ฑฐ๋ ๋จผ์ ํ๋ฉด ๋์ง ์๋ ์ถ์ง๋ง,,
์ ๊ทธ๋ฆผ์ฒ๋ผ ๋ค๋ฅธ ์์์ ์์น๋ฅผ ๊ณ ๋ คํ์ง ์์ผ๋ฉด
๊ฐ๋ ค์ง๊ฑฐ๋ ์๋ ์๋ํ๋ ๋๋ก ๊ทธ๋ ค์ง์ง ์๋๋ค
๊ทธ๋ฆฌ๊ณ DOM ํธ๋ฆฌ, ๋ ์ด์์ ํธ๋ฆฌ์ ๋๋ถ์ด์
ํ์ธํธ ๋ ์ฝ๋๋ผ๋ ๊ฒ ์์ฑ๋๋ค
๋ฐ๋ก ์๋ ๊ฒ
๊ทธ๋ฆฌ๊ณ ์ฒ์ ํ๋ฉด ๋ง๊ณ ๊ทธ๋ค์ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ํ์ํ ๋๋
Repaint๋ผ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋๋ฐ,
์ฌ ์์ฑ๋ ๋ ์ด์์ ํธ๋ฆฌ๋ฅผ ๋ค์ ๋ ์ด์์์ ๊ทธ๋ ค์ฃผ๋ ๊ณผ์ ์ด๋ค
์ฐธ๊ณ ๋ก ์นํท์ ๋ฆฌํ์ธํ ์ ์ ๊ธฐ์กด์ ์ฌ๊ฐํ์ ๋นํธ๋งต์ผ๋ก ์ ์ฅํด์
์๋ก ๊ทธ๋ ค์ง๋ ์ฌ๊ฐํ๊ณผ ๋น๊ตํด์ ์ฐจ์ด๊ฐ ์๋ ๋ถ๋ถ๋ง ๋ค์ ๊ทธ๋ฆฐ๋ค
์๊ฑด ์ด๋ฏธ์ง ํ๋ ์ ๊ทธ๋ฆด ๋ ๋์์ ์ฐธ๊ณ ํ๋ฉด ์ดํด๊ฐ ์ฌ์ธ ๊ฑฐ๋ค
7. Compositing
๊ทธ๋ฌ๋ฉด ์ด์ ๋ฌธ์์ ๊ตฌ์กฐ/์คํ์ผ/ํ์ธํธ ์์ ๋ฑ์ ์๊ณ ์๋๋ฐ
๊ทธ๋ผ ๋ธ๋ผ์ฐ์ ๋ ์ด๋ป๊ฒ ์นํ์ด์ง๋ฅผ ๊ทธ๋ฆด๊น? ๊ฐ ๋จ์๋ค
์๋ฐ ์ ๋ณด๋ฅผ ํ๋ฉด์ ํฝ์ ๋ก ๋ณํํ๋ ๊ณผ์ ์
Rasterizing (๋์คํฐํ)๋ผ๊ณ ํ๋ค
๊ทธ๋ฆฌ๊ณ ๋์คํฐํ ๋ Layer๋ฅผ ์ ํ๋ ์์ผ๋ก ํฉ์ฑํด์ฃผ๋๊ฑธ
Compositing(ํฉ์ฑ)์ด๋ผ๊ณ ํ๋ค
์คํฌ๋กค ๋ด๋ฆด ๋ ํ๋ฉด์ด ์ค๋ฅด๋ฅด ๋ํ๋๋ ๊ฒ ์ ํฉ์ฑ ๊ณผ์ ์ ๊ฑฐ์ณค๊ธฐ ๋๋ฌธ์ด๋ค
8. Rendering Engine Thread
๋ ๋๋ง ์์ง์ Network๋ฅผ ์ ์ธํ ๊ฑฐ์ ๋ชจ๋ ๊ฒฝ์ฐ๊ฐ
๋จ์ผ ์ค๋ ๋๋ก ๋์ํ๋ค๊ณ ํ๋ค
ํ์ด์ดํญ์ค/์ฌํ๋ฆฌ๋ ๋ ๋๋ง ์์ง ์ค๋ ๋๋
๋ธ๋ผ์ฐ์ ์ ์ฃผ์ํ ์ค๋ ๋์ ํด๋น๋๋๋ฐ
ํฌ๋กฌ์ ํฌ ํ๋ก์ธ์ค์ ์ฃผ์ ์ค๋ ๋๋ผ๊ณ ํ๋ค
๊ฐ ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ฃผ์ ์ค๋ ๋์ ๊ธฐ๋ฅ์ด ๋ค๋ฅด๋ค๋ ๋ป
์ด๋ ๊ฒ ๋ฉ์ธ ์ค๋ ๋, ์ฌ๋ฌ ๊ฐ์ง ์ผ์ ์ฒ๋ฆฌํ๋ Worker ์ค๋ ๋์
Raster, Compositor ์ค๋ ๋ ๋ฑ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋๋ค
9. Rendering Pipeline
๋ ๋๋ง ํ์ดํ๋ผ์ธ์ ์ ๋ชจ๋ ๊ณผ์ ์ ๋งํ๋ ๋จ์ด๋ค
์ด ๊ณผ์ ์ ํน์ดํ ๊ฒ
๊ฐ ๋จ๊ณ์์ ์ด์ ์์ ์ ๊ฒฐ๊ณผ๊ฐ
์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ค๋ ๊ฒ์ด๋ค
์๋ฅผ ๋ค์ด,,, ๋ ์ด์์ ํธ๋ฆฌ๊ฐ ๋ณ๊ฒฝ์ด ์๊ฒจ์
๋ฌธ์์ ์ผ๋ถ๊ฐ ์ํฅ์ ๋ฐ์ผ๋ฉด ํ์ธํธ ์์๋ ์๋ก ์์ฑ๋์ด์ผ ํ๋ค
๋ ๋๋ง ํ์ดํ๋ผ์ธ ๊ณผ์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋
๋ ๋๋ฌ ํ๋ก์ธ์ค์ ๋ฉ์ธ ์ค๋ ๋๊ฐ ๋ฐ๋น ์ง๋๋ฐ
GPU ๋ฑ์ ๋ง์ด ์ฐ๊ธฐ์ ๋ธ๋ผ์ฐ์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น๋น
์ด ๋ถ๋ถ์ด ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ํํ๋ ์ด์ ๊ฐ ๋์ง ์์๊น ์ถ๋ค
์๊ฐ๋ณด๋ค ์ ๋ฆฌํ๋๋ฐ ์ค๋ ๊ฑธ๋ ธ๋๋ฐ;;;
์์์ ํ์ง๋ง ๋ธ๋ผ์ฐ์ ์๋ ๊ธฐ๋ฅ์ด ์ ๋ง ๋ง๋ค
์๋ฃ๋ฅผ ์ฝ์ผ๋ฉด์ ์๋ตํ ๋ถ๋ถ์ด ๋ ๋ง์๋ฐ
๋ฐฑ์๋ ๋ก๋๋งต์ ๊ณต๋ถํ๋ฉด์ ๋ ํ๋ณด๋ฉด ์ฌ๋ฐ์ ๊ฒ ๊ฐ๋ค
* ์ฐธ๊ณ ๋งํฌ *
https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
How Browsers Work: Behind the scenes of modern web browsers - HTML5 Rocks
In this comprehensive primer, you will learn what happens in the browser between when you type google.com in the address bar until you see the Google page on the browser screen.
www.html5rocks.com
https://d2.naver.com/helloworld/59361
https://ko.wikipedia.org/wiki/%EC%9B%B9_%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80
์น ๋ธ๋ผ์ฐ์ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
[1]์น ๋ธ๋ผ์ฐ์ (์์ด: web browser), ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ (์์ด: internet browser) ๋๋ ์น ํ์๊ธฐ(webๆข็ดขๆฉ, ๋ฌธํ์ด: ์ด๋๊ธฐ)๋ ์น ์๋ฒ์์ ์ด๋ํ๋ฉฐ(navigate) ์๋ฐฉํฅ์ผ๋ก ํต์ ํ๊ณ HTML ๋ฌธ์๋ ํ์ผ์ ์ถ๋ ฅํ
ko.wikipedia.org
Inside look at modern web browser (part 3) - Chrome Developers
Inner workings of a browser rendering engine
developer.chrome.com
'๐บ๏ธ Backend Developer Road-Map' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
4. DNA...์ ์๋ DNS (0) | 2022.04.27 |
---|---|
3. Domain Name ๋๋ด (0) | 2022.04.20 |
1. Internet ๋์ ์๋ฆฌ (0) | 2022.03.24 |