์น ๋ธ๋ผ์ฐ์ ๋ ์น ํ์ด์ง๋ฅผ ์ฌ์ฉ์์๊ฒ ํ์ํ๊ธฐ ์ํด HTML, CSS, JavaScript ํ์ผ์ ์ฒ๋ฆฌํ๊ณ ๋ ๋๋งํ๋ค.
์ด๋ฒ ๊ธ์์ ๋ ๋๋ง ์ ์ฐจ์ ๊ด๋ จ๋ ์ฃผ์ ๊ฐ๋ ์ ํฌ์คํ ํด ๋ณผ ์์ ์ด๋ค.. ๐ฅน
1. ์น ํ์ด์ง ๊ตฌ์ฑ ์์
์น ํ์ด์ง๋ ๊ธฐ๋ณธ์ ์ผ๋ก HTML, CSS, Javascript ์ธ ๊ฐ์ง ์์๋ก ๊ตฌ์ฑ๋์ด์๋ค. ์น๋ธ๋ผ์ฐ์ ๋ ์ด ์์๋ค์ ๋ก๋ํ๊ณ ์คํํ์ฌ ์ต์ข ์ ์ผ๋ก ์ฌ์ฉ์์๊ฒ ์์ฑ๋ ์น ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
- HTML: ํ์ด์ง ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๋งํฌ์ ์ธ์ด
- CSS: ํ์ด์ง์ ์คํ์ผ๊ณผ ๋ ์ด์์์ ์ ์ํ๋ ์คํ์ผ์ํธ ์ธ์ด
- Javascript: ํ์ด์ง์ ๋์ ์ธ ๊ธฐ๋ฅ๊ณผ ์ธํฐ๋์ ์ ์ถ๊ฐํ๋ ์คํฌ๋ฆฝํธ ์ธ์ด
2. ์บ์์ ์ฑ๋ฅ ์ต์ ํ
์น ๋ธ๋ผ์ฐ์ ๋ ์ฑ๋ฅ์ ์ต์ ํ๊ธฐ ์ํด ๋คํธ์ํฌ ์ฌ์ฉ์ ์ต์ํํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ๊ทธ ์ค ํ๋๊ฐ ์บ์(Cache).
์บ์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ด์ ์ ๋ฐ์ ์๋ต์ ์ ์ฅํ์ฌ ์ฌ์ฌ์ฉํจ์ผ๋ก์จ ๋คํธ์ํฌ ํธ๋ํฝ์ ์ค์ด๊ณ ํ์ด์ง ๋ก๋ฉ ์๋๋ฅผ ํฅ์ ์ํจ๋ค.
3. DOM (Document Object Model) =HTML๋ฌธ์๋ฅผ ์กฐ์ํ๋ API → HTML ์กฐ์ API
DOM์ ๊ฐ์ฒด๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ ํ๋์ ๋ฉ์๋๋ฅผ ํตํด ์กฐ์ํ๋ค.
- ํ๋: ์๋ฅผ ๋ค์ด, document.getElementsByTagName("p")[0]๋ ์ฒซ ๋ฒ์งธ <p> ์์๋ฅผ ์ ํ
- ๋ฉ์๋: ์๋ฅผ ๋ค์ด, element.innerText๋ ์์์ ํ ์คํธ ๋ด์ฉ์ ์กฐ์.
4. HTML๊ณผ DOM, CSS์ CSSOM
- HTML ≈ DOM: HTML์ ๋จ์ง ํ ์คํธ ํ์ผ์ด์ง๋ง, DOM์ HTML์ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์กฐ์ํ ์ ์๋ API๋ก ์ ๊ณต๋๋ค.
- CSS ≈ CSSOM: CSS ์ญ์ ๋จ์ง ํ ์คํธ ํ์ผ์ด์ง๋ง, CSSOM(CSS Object Model)์ CSS๋ฅผ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์กฐ์ํ ์ ์๋ API๋ก ์ ๊ณต๋๋ค.
5. Render Tree ์์ฑ
์น ๋ธ๋ผ์ฐ์ ๋ HTML(DOM)๊ณผ CSS(CSDOM)๋ฅผ ํฉ์ณ์ Render Tree๋ฅผ ์์ฑํ๋ค.
Render Tree๋ ์ค์ ๋ก ํ๋ฉด์ ํ์๋ ๋ด์ฉ์ ํฌํจํ๋ฉฐ, ์ด ๊ณผ์ ์ด ์๋ฃ๋๋ฉด ์นํ์ด์ง์ ์ฌ์ฉ์์๊ฒ ํ์๋๋ค.
6. Layout(Reflow) ๋ฐ Paint(Repaint)
Render Tree๊ฐ ์์ฑ๋ ํ, ๋ธ๋ผ์ฐ์ ๋ ํ์ด์ง์ ๋ ์ด์์์ ๊ณ์ฐํ๋ค. ์ด ๊ณผ์ ์ Layout ๋๋ Reflow๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ์ดํ ํ์ด์ง์ ์๊ฐ์ ์์๋ค์ด ํ๋ฉด์ ๊ทธ๋ ค์ง๋ค. ์ด ๊ณผ์ ์ Paint ๋๋ Repaint๋ผ๊ณ ํ๋ค.
Repaint
Repaint: ํ์ด์ง์ ์ผ๋ถ ๋๋ ์ ์ฒด๋ฅผ ๋ค์ ๊ทธ๋ฆฌ๋ ๊ณผ์ ์ผ๋ก, CSS ์คํ์ผ์ด๋ ๋ ์ด์์, ์์์ ์ธ๊ด์ด ๋ณ๊ฒฝ๋ ๋ ๋ฐ์ํฉ๋๋ค.
Time to Interactive (TTI)
Time to Interactive (TTI): HTML๊ณผ CSS๊ฐ ๋ก๋๋ ํ, JavaScript๋ฅผ ํตํด ๋ง์ฐ์ค ์ด๋ฒคํธ ๋ฑ์ ์ธํฐ๋์ ์ด ์ ์ฉ๋ ์์ ์ ์๋ฏธํฉ๋๋ค.
+@ React์ Virtual DOM
React์ ๊ฐ์ ํ๋ ์์ํฌ๋ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด ๊ฐ์ DOM(Virtual DOM)์ ์ฌ์ฉํ๋ค. ๊ฐ์ DOM์ ์ค์ DOM ์กฐ์์ ์ต์ํํ์ฌ ๋ถํ์ํ Repaint๋ฅผ ์ค์ธ๋ค.
โน๏ธ์ฐธ๊ณ
[ASAC 6๊ธฐ ๊ฐ์์๋ฃ]
'๐ปDEV-STUDY > HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์น ์๋ฒ(WS)์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ(WAS) (0) | 2024.08.18 |
---|---|
์น ๊ฒ์ ์์ง(๊ตฌ๊ธ๊ณผ SEO) ๋ฐ ์น ์ฑ๋ฅ ์งํ (0) | 2024.08.18 |
์น ์๋ฒ ์ฃผ์ ๋ณํ: DNS (Domain Name System) (0) | 2024.08.18 |
๋ฐํ ๋ฐฉ๋ฒ: REST API / GraphQL (0) | 2024.08.18 |
์น์ ๋ณธ์ง์ ์๋ฏธ์ ์ํคํ ์ฒ (0) | 2024.08.18 |