ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฏ preconnect๋ ๋ฌด์์ธ๊ฐ์?
**preconnect**๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐํด ๋๋๋ก ํ๋ ๊ธฐ๋ฅ์ด์์.
- ์น์ฌ์ดํธ๊ฐ ์ด๋ค **๋ฆฌ์์ค(์ด๋ฏธ์ง, ํฐํธ, API ๋ฑ)**๋ฅผ ๋ถ๋ฌ์์ผ ํ๋ ๊ฒฝ์ฐ,
- ๋ฏธ๋ฆฌ ์ฐ๊ฒฐ ์์ ์ ํด๋๋ฉด ๋์ค์ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์ฌ ๋ ๋ ๋น ๋ฅด๊ฒ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค.
๐ ๋น์ ๋ก ์ดํดํ๊ธฐ: ์ ํ ์ฐ๊ฒฐ ์ค๋นํ๊ธฐ
์ฌ๋ฌ๋ถ์ด ์น๊ตฌ์๊ฒ ์ ํ๋ฅผ ๊ฑธ์ด์ ํผ์๋ฅผ ์ฃผ๋ฌธํ๋ค๊ณ ์๊ฐํด ๋ณด์ธ์. ๐๐
- ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ (preconnect ์์ด)
- ์น๊ตฌ์๊ฒ ์ ํ๋ฅผ ๊ฑธ ๋, ์ ํ๊ฐ ์ฐ๊ฒฐ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ์ฃ .
- ์ ํ ์ฐ๊ฒฐ์ด ์๋ฃ๋ ํ์์ผ ํผ์ ์ฃผ๋ฌธ์ ํ ์ ์์ด์.
- ๊ฒฐ๊ณผ: ์ฃผ๋ฌธ์ ์๊ฐ์ด ์กฐ๊ธ ๋ ๊ฑธ๋ฆฝ๋๋ค.
- preconnect๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ๋ฏธ๋ฆฌ ์น๊ตฌ์๊ฒ **"๋ด๊ฐ ํผ์ ์ฃผ๋ฌธํ๋ ค๊ณ ํ ๊ฑฐ์ผ. ์ ํ๊ธฐ ์ผ๋๊ณ ์์ด!"**๋ผ๊ณ ์๋ ค์ค์.
- ๋์ค์ ์ ํํ ๋ ์ฐ๊ฒฐ์ด ์ด๋ฏธ ์ค๋น๋์ด ์์ผ๋ ๋ฐ๋ก ์ฃผ๋ฌธํ ์ ์๊ฒ ์ฃ ?
- ๊ฒฐ๊ณผ: ์ฃผ๋ฌธ์ด ํจ์ฌ ๋น ๋ฅด๊ฒ ์๋ฃ๋ฉ๋๋ค.
**preconnect**๋ ์น์ฌ์ดํธ๊ฐ ์๋ฒ์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐ์ ์ค๋นํด ๋๋ ๊ฒ๊ณผ ๊ฐ์์.
๊ทธ๋์ ๋์ค์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ ๋ ์๊ฐ์ ์ ์ฝํ ์ ์์ต๋๋ค.
๐ ๏ธ preconnect ์ฌ์ฉ๋ฒ
preconnect๋ ๋ณดํต HTML์ <link> ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ ์ค์ ํด์.
๋ธ๋ผ์ฐ์ ์๊ฒ **"์ด ์๋ฒ์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐํด ๋ฌ!"**๋ผ๊ณ ์๋ ค์ฃผ๋ ๊ฑฐ์ฃ .
1. ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
<head>
<!-- ํฐํธ๋ฅผ ์ ๊ณตํ๋ ์ธ๋ถ ์๋ฒ์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐ -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
</head>
์ค๋ช :
- rel="preconnect": ์ด ์๋ฒ์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐํ๋ผ๋ ์๋ฏธ์์.
- href: ์ฐ๊ฒฐํ ์๋ฒ์ ์ฃผ์๋ฅผ ์ ์ต๋๋ค.
- crossorigin: ๋ค๋ฅธ ๋๋ฉ์ธ์์ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์ฌ ๋ ํ์ํด์.
2. ์ธ์ ์ฌ์ฉํ ๊น์?
- ์ธ๋ถ ํฐํธ๋ฅผ ๋ถ๋ฌ์ฌ ๋
- Google Fonts ๊ฐ์ ์๋น์ค๋ฅผ ์ฌ์ฉํ ๋ preconnect๋ฅผ ์ค์ ํ๋ฉด ํฐํธ ๋ก๋ฉ ์๋๊ฐ ๋นจ๋ผ์ ธ์.
- API ์์ฒญ์ ๋ฏธ๋ฆฌ ์ค๋นํ ๋
- ์ธ๋ถ API ์๋ฒ์ ์ฐ๊ฒฐ์ ๋ฏธ๋ฆฌ ์ค๋นํด ๋๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
- CDN ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ๋
- ์ด๋ฏธ์ง๋ ๋์์์ CDN(์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ)์์ ๋ถ๋ฌ์จ๋ค๋ฉด preconnect๋ฅผ ์ค์ ํ๋ฉด ์ข์ต๋๋ค.
3. ์ฑ๋ฅ ์ต์ ํ ํจ๊ณผ
์น์ฌ์ดํธ๊ฐ ๋ก๋ฉ๋ ๋ ๊ฐ์ฅ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ๋ถ๋ถ ์ค ํ๋๊ฐ ์๋ฒ์์ ์ฐ๊ฒฐ์ด์์.
- ์๋ฒ์ ์ฐ๊ฒฐํ๋ ค๋ฉด DNS ์กฐํ, ๋ณด์ ์ฐ๊ฒฐ(SSL), ํธ๋์ ฐ์ดํฌ ๊ฐ์ ๊ณผ์ ์ด ํ์ํ๊ฑฐ๋ ์.
**preconnect**๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ์ฐ๊ฒฐ ๊ณผ์ ์ ๋ฏธ๋ฆฌ ์ค๋นํด ๋๊ธฐ ๋๋ฌธ์
๋์ค์ ๋ฆฌ์์ค๋ฅผ ๋ถ๋ฌ์ค๋ ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ง๋๋ค!
๐ ์ด๋์ ์ฐ๋ฉด ์ข์๊น์?
- Google Fonts๋ ์ธ๋ถ ํฐํธ ์๋น์ค
- ํฐํธ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ดํธ์์ ํฐํธ ๋ก๋ฉ ์๋๋ฅผ ๊ฐ์ ํด ์ค๋๋ค.
- ์ธ๋ถ API ์์ฒญ
- ์: **https://api.example.com**๊ณผ ์ฐ๊ฒฐ์ ๋ฏธ๋ฆฌ ์ค๋นํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ฌ ์ ์์ด์.
- ์ด๋ฏธ์ง, ๋์์ ๊ฐ์ CDN ๋ฆฌ์์ค
- ์น์ฌ์ดํธ์ ํฐ ์ด๋ฏธ์ง๋ฅผ CDN์์ ๋ถ๋ฌ์จ๋ค๋ฉด preconnect๋ก ์ฐ๊ฒฐ ์ค๋น๋ฅผ ํด๋์ธ์.
๐ ์ค์ ์์ : Google Fonts ์ฌ์ฉํ๊ธฐ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Preconnect ์์ </title>
<!-- Google Fonts๋ฅผ ์ํ preconnect -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet" />
</head>
<body>
<h1 style="font-family: 'Roboto', sans-serif;">์๋
ํ์ธ์! ๐</h1>
</body>
</html>
๐ preconnect์ ์ฅ์
- ๋ฆฌ์์ค ๋ก๋ฉ ์๋ ํฅ์
- ์๋ฒ์์ ์ฐ๊ฒฐ์ ๋ฏธ๋ฆฌ ์ค๋นํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ ์ ์ฝํ ์ ์์ด์.
- ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์
- ํฐํธ, ์ด๋ฏธ์ง, API ๋ฐ์ดํฐ๋ฅผ ๋ ๋นจ๋ฆฌ ๋ถ๋ฌ์์ ํ๋ฉด์ด ๋ ๋น ๋ฅด๊ฒ ๋ก๋ฉ๋ฉ๋๋ค.
- ์ฑ๋ฅ ์ต์ ํ
- ์น์ฌ์ดํธ์ ์ด๊ธฐ ๋ก๋ฉ ์ฑ๋ฅ์ด ์ข์์ ธ์ **SEO(๊ฒ์ ์์ง ์ต์ ํ)**์๋ ์ ๋ฆฌํฉ๋๋ค.
โ ๏ธ ์ฃผ์ํ ์
- ๋ถํ์ํ ์ฐ๊ฒฐ์ ํผํด์ผ ํด์
- ์์ฃผ ์ฌ์ฉํ์ง ์๋ ์๋ฒ์ preconnect๋ฅผ ์ค์ ํ๋ฉด ์คํ๋ ค ์ฑ๋ฅ์ด ๋๋น ์ง ์ ์์ด์.
- preconnect์ dns-prefetch ์ฐจ์ด
- dns-prefetch: DNS ์กฐํ๋ง ๋ฏธ๋ฆฌ ์ค๋นํด์.
- preconnect: DNS ์กฐํ + ๋ณด์ ์ฐ๊ฒฐ๊น์ง ๋ชจ๋ ์ค๋นํด์.
๐ ํ ์ค ์์ฝ
**preconnect**๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐํด ๋๋๋ก ํด์ ๋ฆฌ์์ค๋ฅผ ๋ ๋น ๋ฅด๊ฒ ๋ถ๋ฌ์ฌ ์ ์๊ฒ ๋์์ฃผ๋ ๊ธฐ๋ฅ์ด์์.
๐ ๋ง๋ฌด๋ฆฌ
preconnect๋ ์น์ฌ์ดํธ์ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๋ ์์ฃผ ๊ฐ๋จํ์ง๋ง ๊ฐ๋ ฅํ ๋๊ตฌ์์.
์ธ๋ถ ํฐํธ, ์ด๋ฏธ์ง, API ์๋ฒ๋ฅผ ์ฌ์ฉํ ๋ ํ ์ค๋ง ์ถ๊ฐํ๋ฉด ํฐ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๋ต๋๋ค! ๐
'web > react dom' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
prefetchDNS (1) | 2024.12.16 |
---|---|
hydrate (0) | 2024.12.16 |
findDOMNode (0) | 2024.12.16 |
flushSync (0) | 2024.12.16 |
createPortal (0) | 2024.12.16 |
- Total
- Today
- Yesterday
- preconnect
- experimental
- zustand
- ์คํ์
- ์ ์ฅ์
- ๋ฐ์ดํฐ์ ์ง
- finddomnode
- prefetchdns
- ์ธ๋ถํฐํธ
- ๋ฒ ํ
- experimental_taintobjectreference
- ์ํ๊ด๋ฆฌ
- ์ต์ ๋ฐ์ดํฐ
- component
- react dom hook
- Store
- experimental_taintuniquevalue
- Props
- useRef
- usedeferredvalue
- react hook
- flushsync
- useinsertioneffect
- useformstatus
- useid
- react
- state
- react dom
- dns-prefetch
- Nextjs
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |