๋ธ๋ผ์ฐ์
1. ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ๋ค.
2. ์ ์ํ๊ณ ์ถ์ ์ฌ์ดํธ์ url๋ฅผ ์ฃผ์์ฐฝ์ ์
๋ ฅํ๋ค
3. ๋ธ๋ผ์ฐ์ ๋ ์
๋ ฅ๋ url์ ์๋ฒ์๊ฒ ์ฌ์ดํธ ์ ๋ณด๋ฅผ ๋ฐ์์ ์ด๋ฅผ ํ๋ฉด์ ํํํ๋ค.
4. ํํ๋ ์ ๋ณด๋ฅผ ์ฌ์ฉ์๊ฐ ํ์ฉํ๋ค.
๊ธฐ๋ณธ ๊ตฌ์กฐ
์ฌ์ฉ์ ์ธํฐํ์ด์ค : ์ฃผ์ ํ์์ค, ์ด์ /๋ค์ ๋ฒํผ, ๋ถ๋งํฌ ๋ฉ๋ด, ์๋ก๊ณ ์นจ, ํ๋ฒํผ ๋ฑ ์์ฒญํ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฐฝ์ ์ ์ธํ ๋๋จธ ์ง ๋ชจ๋ ๋ถ๋ถ.
๋ธ๋ผ์ฐ์ ์์ง : ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๋ ๋๋ง ์์ง ์ฌ์ด์ ๋์์ ์ ์ด
๋ ๋๋ง ์์ง : ์์ฒญํ ์ฝํ ์ธ ๋ฅผ ํ์. ์๋ฅผ ๋ค๋ฉด HTML์ ์์ฒญํ๋ฉด HTML๊ณผ CSS๋ฅผ ํ์ฑ ํ์ฌ ํ๋ฉด์ ํ์ํ๋ค.
ํต์ : HTTP์์ฒญ๊ณผ ๊ฐ์ ๋คํธ์ํฌ ํธ์ถ์ ์ฌ์ฉ๋จ. ์ด๊ฒ์ ํ๋ซํผ ๋ ๋ฆฝ์ ์ธ ์ธํฐํ์ด์ค์ด๊ณ ๊ฐ ํ๋ซํผ ํ๋ถ์์ ์คํ๋๋ค.
UI ๋ฐฑ์๋ : ์ฝค๋ณด ๋ฐ์ค์ ์ฐฝ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ฅ์น๋ฅผ ๊ทธ๋ฆฐ๋ค. ํ๋ซํผ์์ ๋ช ์ํ์ง ์์ ์ผ๋ฐ์ ์ธ ์ธํฐํ์ด์ค๋ก, OS์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ฒด๊ณ๋ฅผ ์ฌ์ฉ.
์๋ฐ์คํฌ๋ฆฝํธ ํด์๊ธฐ : ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํด์ํ๊ณ ์คํ.
์๋ฃ ์ ์ฅ์ : ์๋ฃ๋ฅผ ์ ์ฅ. ์ฟ ํค๋ฅผ ์ ์ฅํ๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ชจ๋ ์ข ๋ฅ์ ์์์ ํ๋ ๋์คํฌ์ ์ ์ฅํ ํ์๊ฐ ์๋ค. HTML5 ๋ช ์ธ์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ํ๋ ์น๋ฐ์ดํฐ ๋ฒ ์ด์ค๊ฐ ์ ์๋์ด ์๋ค.
์ฌ๊ธฐ์ ๋๋๋ง ์์ง์ด ํฐ ์ญํ ์ ํ๋๋ฐ ๋ ๋๋ง ์์ง์ ์ญํ ์ ์์ฒญ๋ฐ์ ๋ด์ฉ์ ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ํ์ํ๋ ์ผ์ด๋ค.
๋ ๋๋ง ๊ณผ์
๋ถ๋ฌ์ค๊ธฐ (loading) : HTTP ๋ชจ๋ ๋๋ ํ์ผ ์์คํ ์ผ๋ก ์ ๋ฌ๋ฐ์ ๋ฆฌ์์ค ์คํธ๋ฆผ์ ์ฝ๋ ๊ณผ์ ์ผ๋ก ๋ก๋๊ฐ ์ด ์ญํ ์ ๋งก๊ณ ์๋ค. ๋ก๋๋ ๋จ์ํ ์ฝ๋ ๊ฒ์ด ์๋๋ผ, ์ด๋ฏธ ๋ฐ์ดํฐ๋ฅผ ์ฝ์๋์ง๋ ํ์ธํ๊ณ , ํ์ ์ฐฝ์ ์ด์ง ๋ง์ง, ๋๋ ํ์ผ ๋ค์ด๋ก๋ํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
๋ค์ด๋ก๋ํ HTML, CSS๋ฅผ Object Model๋ก ๋ง๋ ๋ค (DOM, CSSOM์์ฑ):
- DOM (Document Object Model) : HTMLํ๊ทธ๋ฅผ JS์์ ์ด์ฉํ ์ ์๋ ๊ฐ์ฒด๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ์ฆ HTML๋ฌธ์์ ๊ฐ์ฒด ๊ธฐ๋ฐ ํํ ๋ฐฉ์์ด๋ค. HTML์ DOM์ผ๋ก : HTMLํ์ผ์ HTMLํ์์ ์ํด ํ์ฑ ๋์ด DOMํธ๋ฆฌ๋ก ๋ณํ๋๋ค.
- CSS๋ CSSOM์ผ๋ก : CSSํ์ผ์ CSSํ์์ ์ํด ํ์ฑ ๋์ด CSSOMํธ๋ฆฌ๋ก ๋ณํ๋๋ค. ํ์ฑ์ด๋? : ๋ฌธ์๋ฅผ ํ์ฑ ํ๋ค๋ ๊ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ฝ๋๋ฅผ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐ๋ก ๋ณํํ๋ ๊ฒ์ด๋ค. ํ์ฑ ๊ฒฐ๊ณผ๋ ๋ณดํต ๋ฌธ์ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ๋ ธ๋ ํธ๋ฆฌ์ธ๋ฐ ํ์ฑ ํธ๋ฆฌ ๋๋ ๋ฌธ๋ฒ ํธ๋ฆฌ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
Render Tree์์ฑ : DOM๊ณผ CSSOM์ ํฉ์น๋ฉฐ Render tree๋ฅผ ๋ง๋ ๋ค. ๋ ๋ํธ๋ฆฌ์๋ ์คํ์ผ ์ ๋ณด๊ฐ ์ค์ ๋์ด ์๊ณ , ์ค์ ํ๋ฉด์ ํํ๋๋ ๋ ธ๋๋ค๋ก ๊ตฌ์ฑ๋๋ค.
Layout : ๋ธ๋ผ์ฐ์ ์ ๋ทฐํฌํธ(Viewport) ๋ด์์ ๊ฐ ๋ ธ๋๋ค์ ์ ํํ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ค. ์์ฑ๋ Render Tree ๋ ธ๋๋ค์ด ๊ฐ์ง๊ณ ์๋ ์คํ์ผ๊ณผ ์์ฑ์ ๋ฐ๋ผ์ ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ์ด๋ ์์น์ ์ด๋ ํฌ๊ธฐ๋ก ์ถ๋ ฅ๋ ์ง ๊ณ์ฐํ๋ ๋จ๊ณ์ด๋ค.(reflow ๋จ๊ณ) ๋ ์ด์์ ๋จ๊ณ์์ %, vh, vw์ ๊ฐ์ด ์๋์ ์ธ ์์น, ํฌ๊ธฐ ์์ฑ์ ์ค์ ํ๋ฉด์ ๊ทธ๋ ค์ง๋ ํฝ์ ๋จ์๋ก ๋ณํ๋๋ค. ViewPort : ๊ทธ๋ํฝ์ด ํ์๋๋ ๋ธ๋ผ์ฐ์ ์์ญ, ํฌ๊ธฐ. ๋ทฐํฌํธ๋ ๋ชจ๋ฐ์ผ์ ๊ฒฝ์ฐ ๋์คํ๋ ์ด์ ํฌ๊ธฐ, pc์ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
Paint : Layout ๊ณ์ฐ์ด ์๋ฃ๋๋ฉด ์ด์ ์์๋ค์ ์ค์ ํ๋ฉด์ ๊ทธ๋ฆฌ๊ฒ ๋๋ค. (repaint ๋จ๊ณ) ์ฒ๋ฆฌํด์ผ ํ๋ ์คํ์ผ์ด ๋ณต์กํ ์๋ก paint ๋จ๊ณ์ ์์๋๋ ์๊ฐ์ด ๊ธธ๋ค. (๊ฐ๋ น ๊ทธ๋ฌ๋ฐ์ด์ , ๊ทธ๋ฆผ์ ํจ๊ณผ > ๋จ์ ๋ฐฐ๊ฒฝ)