ํจ๊ณผ์ ์ธ SEO ๊ฐ์ ์ ์ํ ์นํ์ด์ง ๋ก๋ฉ ์๋ ์ต์ ํ ๋ฐฉ๋ฒ
์น ํ์ด์ง ๋ก๋ฉ ๊ณผ์ ์ ๊ฒ์ ์ต์ ํ์ ์ค์ํ ์์์ค ํ๋ ์ ๋๋ค. ์น ํ์ด์ง ๋ก๋ฉ์ DNS ์กฐํ๋ก IP ์ฃผ์๋ฅผ ์ป๊ณ , TCP๋ฅผ ํตํด ์๋ฒ์ ์ฐ๊ฒฐ์ ํ๊ฒ๋ฉ๋๋ค. HTTP ์์ฒญ์ ํตํด ์๋ฒ์์ HTML๊ณผ CSS๋ฅผ ๋ฐ์ DOM ๋ฐ ๋ ๋๋ง ํธ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. ์์ฑ๋ ํธ๋ฆฌ์ CSS๋ก ์คํ์ผ์ ์ ์ฉํ๊ณ JavaScript๋ฅผ ์คํํ์ฌ ๋์ ์ฝํ ์ธ ๋ฅผ ์ถ๊ฐํฉ๋๋ค.์ดํ ๋ ์ด์์์ ๊ณ์ฐํ๊ณ , ํ์ธํ ๋ฐ ์ปดํฌ์งํ ์ ํตํด ์ต์ข ์ ์ผ๋ก ํ๋ฉด์ ํ์ด์ง๋ฅผ ํ์ํ๊ฒ ๋ฉ๋๋ค.
๊ฒ์ ์ต์ ํ ํฅ์์ ์ํ ์น ํ์ด์ง ๋ก๋ฉ ๋จ๊ณ ๋ถ์
๊ฒ์์์ง ์ต์ ํ ์์ ์ ์ํด์๋ ์นํผ์ด์ง๊ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ๋ก๋ฉ์ด ๋๋์ง ์นํ์ด์ง ๋ก๋ฉ๋จ๊ณ์ ๊ธฐ๋ณธ์ ์ธ ์ดํด๊ฐ ์์ผ๋ฉด ์์ ํ๊ธฐ๊ฐ ์์ํด์ง๋๋ค. ๊ฐ ๋จ๊ณ๋ณ๋ก ์ด์์๊ฐ ์ต์ ํ ์์ ์์ ์งํํ ์ ์๋ ๋ถ๋ถ๊ณผ ํ ์ ์๋ ๋ถ๋ถ์ ์๊ณ ํ ์ ์๋ ๋ถ๋ถ์ ๋ํ ์์ ์ ์งํํด์ผ ํ๋ฉฐ ์นํ์ด์ง ๋ก๋ฉ์ ๊ทธ ์์ ์ ๊ฐ๋จ๊ณ์ ์ผ๋ถ๋ถ์ ํ์ ๋ ์ ์์ต๋๋ค.
๊ฒ์์์ง ์ต์ ํํ ๋ค๋ฅธ ์์๋ก ์ธํด ๋ฐ์ํ๋ ๋ฌธ์ ๋ ์ฐจํ ์ ๊ฒํ ํ์ ํด์ผ ํ๋ฉฐ ๊ทธ๋ถ๋ถ์ด ์นํ์ด์ง์ ์ด๋ค ๊ณผ์ ์์ ๋ฐ์ํ๋์ง๋ ๋๋ต์ ์ผ๋ก ํ์ ํ ํ์์ฑ์ด ์์ด ์๋๋ ์นํ์ด์ง ๋ก๋ฉ์ ๋จ๊ณ๋ณ ์ค๋ช ์ ๊ฐ๋จํ๊ฒ ์์ฝ ์ ๋ฆฌํ์ต๋๋ค.
์นํ์ด์ง ๋ก๋ฉ์์
1. DNS ์กฐํ (DNS Lookup)
DNS ์กฐํ๋ ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ ์ฃผ์๋ฅผ ์ ๋ ฅํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ ๋๋ฉ์ธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋ณํํ๋ ๊ณผ์ ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋๋ค์ด ์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํ ์ฌ์ดํธ ์ด๋ฆ์ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ์ซ์๋ก ๋ณ๊ฒฝํด์ฃผ๋ ์์ ์ ๋๋ค.
DNS(Domain Name System)๋ก ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ฉด DNS ์๋ฒ๋ ๋๋ฉ์ธ ์ด๋ฆ์ ํด๋นํ๋ IP ์ฃผ์๋ฅผ ๋ฐํํฉ๋๋ค. ์ด๋ ์บ์๋ฅผ ์ด์ฉํด์ ์บ์ ์ ๋ณด๊ฐ ๋ธ๋ผ์ฐ์ ์ ์กด์ฌํ๋ฉด DNS ์กฐํ ๊ณผ์ ์ ์๋ตํ ์ ์์ต๋๋ค.
ํ์ด์ง์์ ์ธ๋ถ์ ์ฌ๋ฌ ๊ฐ์ ๋ค๋ฅธ ์ฌ์ดํธ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ด ๊ณผ์ ์์ ๋ก๋ฉ ์ ๋ถํ๊ฐ ๊ฑธ๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ํ์ด์ง์ ๋ง์ด ์ฌ์ฉํ๋ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ์ฌ์ดํธ์ ๋ํด์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐํ ์ค๋น๋ฅผ ํด์ฃผ๋ฉด ์ข ๋ ๋น ๋ฅด๊ฒ ์ธ๋ถ ๋ฆฌ์์ค๋ฅผ ๋ก๋ฉ์ํฌ ์ ์์ต๋๋ค.
dns-prefetch๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋๋ฉ์ธ ์ด๋ฆ์ ๋ฏธ๋ฆฌ DNS ์กฐํํ์ฌ IP ์ฃผ์๋ฅผ ์บ์ํ๋๋ก ์ค์ ํฉ๋๋ค.
preconnect๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ธ๋ถ ๋๋ฉ์ธ์ ๋ํ ์ฐ๊ฒฐ์ ๋ฏธ๋ฆฌ ์ค์ ํ๋๋ก ์ง์ํฉ๋๋ค
โ ์
<link rel="preconnect" href="https://example.com"> <link rel="dns-prefetch" href="https://example.com">
2. ์๋ฒ์ ์ฐ๊ฒฐ (TCP)
๋ธ๋ผ์ฐ์ ๋ DNS ์กฐํ๋ฅผ ํตํด ์ป์ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ์ฌ ์น ์๋ฒ์ ์ฐ๊ฒฐ์ ํ๋ ๊ณผ์ ์์ ์ด๊ธฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ณผ์ ์ ์ค์ ํ๊ณ ์ด๊ธฐํํด์ฃผ๋ ์์ ์ ์งํํ๊ฒ ๋ฉ๋๋ค.
TCP(Transmission Control Protocol) ์ฐ๊ฒฐ์ ์ค์ ํ๊ธฐ ์ํด ์๋ ๋ฐฉ๋ฒ์ ์ํํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ์ ์ ์ก ์๋, ํจํท์ ์์ค์ด๋ ์ค๋ฅ ๋ฐ์ก ๋ฑ์ ์ ์ด๋ฅผ ํ๊ฒ ๋ฉ๋๋ค.
SYN: ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ์ฐ๊ฒฐ ์์ฒญ์ ๋ณด๋ ๋๋ค.
SYN-ACK: ์๋ฒ๊ฐ ์์ฒญ์ ์๋ฝํ๊ณ ์๋ตํฉ๋๋ค.
ACK: ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ์๋ต์ ํ์ธํ์ฌ ์ฐ๊ฒฐ์ ์๋ฃํฉ๋๋ค.
3. HTTP ์์ฒญ
๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ฒ ๋๋ฉฐ ์ด๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ ํต์ ์ ์ํด HTTP ์์ฒญ์ ๋ณด๋ ๋๋ค. ์ด ์์ฒญ์๋ ๋ธ๋ผ์ฐ์ ์ ๋ณด, ์์ฒญํ ๋ฆฌ์์ค์ URL ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
4. ์๋ฒ ์๋ต
์๋ฒ๋ ๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ HTTP ์๋ต์ ๋ณด๋ ๋๋ค. ์๋ต์๋ ์์ฒญํ ์น ํ์ด์ง์ HTML ์ฝ๋, ์ํ ์ฝ๋, ํค๋ ์ ๋ณด ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
5. HTML ํ์ฑ ๋ฐ ๋ ๋๋ง (HTML Parsing , Rendering)
์นํ์ด์ง๋ฅผ ๋ธ๋ผ์ฐ์ ์ ํ์ํ๋ ๊ณผ์ ์ผ๋ก HTML์ ์ฝ๋๋ฅผ ์ฝ๊ณ ๋ถ์ํด์ ์ฌ๋์ด ์ดํดํ ์ ์๋ ํํ๋ก ๋ณํํ๋ ๊ณผ์ ์ ๋๋ค.
๋ธ๋ผ์ฐ์ ๋ HTML ๋ฌธ์๋ฅผ ํ์ฑํ์ฌ DOM(Document Object Model) ํธ๋ฆฌ HTML ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ์์ฑํฉ๋๋ค. DOM ํธ๋ฆฌ๋ HTML ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ์ฝ๋๋ฅผ ๊ฐ๊ฐ์ ์์ ํํ(ํ ํฐ)์ผ๋ก ๋ณํํ๊ณ ๊ตฌ๋ฌธ์ ๋ถ์ํด์ ํ์ฑํฉ๋๋ค.
6. CSS ์ฒ๋ฆฌ
๊ตฌ์กฐ๊ฐ ํ์ฑ๋๋ฉด CSSํ์ผ์ ์ฝ์ด ๋ค์ฌ์ HTML๋ฌธ์์ ์คํ์ผ์ ์ ์ํ๊ฒ ๋ฉ๋๋ค. ์ฆ ๋ธ๋ผ์ฐ์ ๋ HTML ๋ฌธ์์์ CSS ํ์ผ์ ์์ฒญํ๊ณ , CSS๋ฅผ ํ์ฑํ์ฌ ์คํ์ผ ๊ท์น์ ์ ์ฉํฉ๋๋ค.
์ด๋ ์ฃผ๋ก ํ์ด์ง์ ๋์์ธ๊ณผ ์ค์ ์ ๊ด๋ จ๋ ์์ ์ ์งํํ๊ฒ ๋ฉ๋๋ค. CSS ์ฝ๋๋ DOM ์์์ ์คํ์ผ์ ์ ์ํ๋ฉฐ, ์ด ๊ณผ์ ์์ ์คํ์ผ ํธ๋ฆฌ(๋๋ ๋ ๋ ํธ๋ฆฌ)๊ฐ ์์ฑ๋ฉ๋๋ค.
7. JavaScript ์คํ
์นํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ณผ์ ์ผ๋ก HTML๋ฌธ์์ ๊ธฐ๋ฅ์ฑ๊ณผ ๋์ ์ฝํ ์ธ ๋ฅผ ์์ฑํฉ๋๋ค.๋ธ๋ผ์ฐ์ ๋ HTML ๋ฌธ์์ ํฌํจ๋ JavaScript๋ฅผ ํ์ฑํ๊ณ ์คํํฉ๋๋ค.
JavaScript๋ DOM๊ณผ CSS์ ์์ ํ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด ํ์ด์ง์ ๋ด์ฉ์ด๋ ์คํ์ผ์ด ๋์ ์ผ๋ก ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค.
8. ๋ ๋๋ง ํธ๋ฆฌ ๊ตฌ์ฑ (Render Tree )
๋ธ๋ผ์ฐ์ ๋ DOM๊ณผ CSSOM์ ๊ฒฐํฉํ์ฌ ๋ ๋๋ง ํธ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. ๋ ๋๋ง ํธ๋ฆฌ๋ ํ๋ฉด์ ์ค์ ๋ก ๊ทธ๋ ค์ง ์์์ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
9. ๋ ์ด์์ ๊ณ์ฐ
๋ธ๋ผ์ฐ์ ๋ ๋ ๋๋ง ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ ์์์ ์ ํํ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ด ๊ณผ์ ์ ๋ ์ด์์ ๋๋ ๋ฆฌํ๋ก์ฐ๋ผ๊ณ ํฉ๋๋ค.
์ด ๊ณผ์ ์์ HTML์ ๋ณด์ฌ์ฃผ๊ฒ ๋ ๊ฐ ์์๊ฐ ๊ณ์ฐ๋๋ ๊ณผ์ ์ผ๋ก, ์ด ๊ณผ์ ์ด ๋ณต์กํ๊ฒ ๋๋ฉด ๋ ์ด์์์ด ํ๋ค๋ฆฌ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค.
๊ฒ์ ์ต์ ํ์์ ๊ฐ์ฅ ์ค์ํ CLS ์ธก์ ๊ฐ์ด ์ด ๋ถ๋ถ์์ ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ฒ ๋ฉ๋๋ค. HTML ๋ฌธ์์ ๊ธฐ๋ณธ ๋ ์ด์์ ๋ฐฉ์ ์ค ํ๋ก์ฐ ๋ ์ด์์์์ HTML ์์๋ค์ด ๋ฐฐ์น๋๋ ๊ณผ์ ์์ ์ค์ ํ๊ทธ์ ์์๋ก ์ธํด ์ค๋ฐ๊ฟ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ ๋ฐ์์ํค์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
๋ธ๋ก ์์: ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฒด ๋๋น๋ฅผ ์ฐจ์งํ๋ฉฐ, ์ค๋ฐ๊ฟ์ ๋ฐ์์ํต๋๋ค.
์ธ๋ผ์ธ ์์: ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝํ ์ธ ์ ๋๋น์ ๋ง์ถ์ด ๋ฐฐ์น๋๋ฉฐ, ์ค๋ฐ๊ฟ์ ๋ฐ์์ํค์ง ์์ต๋๋ค
10. ํ์ธํ (Painting)
๋ธ๋ผ์ฐ์ ๋ ๊ฐ ์์๋ฅผ ํ๋ฉด์ ๊ทธ๋ฆฝ๋๋ค. ์ด ๊ณผ์ ์์๋ ์์, ํ ์คํธ, ์ด๋ฏธ์ง ๋ฑ์ด ์ค์ ๋ก ๋ ๋๋ง๋ฉ๋๋ค.
11. ์ปดํฌ์งํ (Compositing)
์ปดํฌ์งํ ์ ๊ฐ๊ฐ์ ๋ ๋๋ง๋ ์์๋ฅผ ๊ฒฐํฉํ์ฌ ์ต์ข ์ ์ผ๋ก ํ๋ฉด์ ํ์ํ๋ ๊ณผ์ ์ ๋๋ค.๋ณต์กํ ๋ ์ด์์์ ๊ฒฝ์ฐ, ๋ธ๋ผ์ฐ์ ๋ ์ฌ๋ฌ ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋ ํ์ด์ง๋ฅผ ์ด๋ ์ฒ๋ฆฌํ๋ฉฐ. ๊ฐ ๋ ์ด์ด๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ ๋๋ง๋๋ฉฐ, ์ต์ข ์ ์ผ๋ก ํ๋ฉด์ ํ์๋๊ธฐ ์ ์ ํฉ์ณ์ง๋๋ค.
12. ํ์ด์ง ๋ก๋ฉ
๋ชจ๋ ๋ฆฌ์์ค๊ฐ ๋ก๋๋๊ณ , JavaScript๊ฐ ์คํ๋๊ณ , ํ์ด์ง๊ฐ ๋ ๋๋ง๋๋ฉด์ ๋ธ๋ผ์ฐ์ ์ ํ์ด์ง์ ๋ก๋ฉ์ด ์๋ฃ๋๋ ์์ ์ ๋๋ค.