ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

web/react dom

preconnect

dev_been94 2024. 12. 16. 17:14
728x90
๋ฐ˜์‘ํ˜•

preconnect

 

๐ŸŽฏ preconnect๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

**preconnect**๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์— ๋ฏธ๋ฆฌ ์—ฐ๊ฒฐํ•ด ๋‘๋„๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ์ด์—์š”.

  • ์›น์‚ฌ์ดํŠธ๊ฐ€ ์–ด๋–ค **๋ฆฌ์†Œ์Šค(์ด๋ฏธ์ง€, ํฐํŠธ, API ๋“ฑ)**๋ฅผ ๋ถˆ๋Ÿฌ์™€์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ,
  • ๋ฏธ๋ฆฌ ์—ฐ๊ฒฐ ์ž‘์—…์„ ํ•ด๋‘๋ฉด ๋‚˜์ค‘์— ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ๋” ๋น ๋ฅด๊ฒŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ• ๋น„์œ ๋กœ ์ดํ•ดํ•˜๊ธฐ: ์ „ํ™” ์—ฐ๊ฒฐ ์ค€๋น„ํ•˜๊ธฐ

์—ฌ๋Ÿฌ๋ถ„์ด ์นœ๊ตฌ์—๊ฒŒ ์ „ํ™”๋ฅผ ๊ฑธ์–ด์„œ ํ”ผ์ž๋ฅผ ์ฃผ๋ฌธํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ๐Ÿ“ž๐Ÿ•

  1. ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ (preconnect ์—†์ด)
    • ์นœ๊ตฌ์—๊ฒŒ ์ „ํ™”๋ฅผ ๊ฑธ ๋•Œ, ์ „ํ™”๊ฐ€ ์—ฐ๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜์ฃ .
    • ์ „ํ™” ์—ฐ๊ฒฐ์ด ์™„๋ฃŒ๋œ ํ›„์—์•ผ ํ”ผ์ž ์ฃผ๋ฌธ์„ ํ•  ์ˆ˜ ์žˆ์–ด์š”.
    • ๊ฒฐ๊ณผ: ์ฃผ๋ฌธ์— ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๋” ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
  2. 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**๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด ์—ฐ๊ฒฐ ๊ณผ์ •์„ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด ๋‘๊ธฐ ๋•Œ๋ฌธ์—
๋‚˜์ค‘์— ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์†๋„๊ฐ€ ํ›จ์”ฌ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค!

 

๐Ÿš€ ์–ด๋””์— ์“ฐ๋ฉด ์ข‹์„๊นŒ์š”?

  1. Google Fonts๋‚˜ ์™ธ๋ถ€ ํฐํŠธ ์„œ๋น„์Šค
    • ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ์—์„œ ํฐํŠธ ๋กœ๋”ฉ ์†๋„๋ฅผ ๊ฐœ์„ ํ•ด ์ค๋‹ˆ๋‹ค.
  2. ์™ธ๋ถ€ API ์š”์ฒญ
    • ์˜ˆ: **https://api.example.com**๊ณผ ์—ฐ๊ฒฐ์„ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.
  3. ์ด๋ฏธ์ง€, ๋™์˜์ƒ ๊ฐ™์€ 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์˜ ์žฅ์ 

  1. ๋ฆฌ์†Œ์Šค ๋กœ๋”ฉ ์†๋„ ํ–ฅ์ƒ
    • ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์„ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์–ด์š”.
  2. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐœ์„ 
    • ํฐํŠธ, ์ด๋ฏธ์ง€, API ๋ฐ์ดํ„ฐ๋ฅผ ๋” ๋นจ๋ฆฌ ๋ถˆ๋Ÿฌ์™€์„œ ํ™”๋ฉด์ด ๋” ๋น ๋ฅด๊ฒŒ ๋กœ๋”ฉ๋ฉ๋‹ˆ๋‹ค.
  3. ์„ฑ๋Šฅ ์ตœ์ ํ™”
    • ์›น์‚ฌ์ดํŠธ์˜ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์„ฑ๋Šฅ์ด ์ข‹์•„์ ธ์„œ **SEO(๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”)**์—๋„ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

โš ๏ธ ์ฃผ์˜ํ•  ์ 

  1. ๋ถˆํ•„์š”ํ•œ ์—ฐ๊ฒฐ์€ ํ”ผํ•ด์•ผ ํ•ด์š”
    • ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์„œ๋ฒ„์— preconnect๋ฅผ ์„ค์ •ํ•˜๋ฉด ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋‚˜๋น ์งˆ ์ˆ˜ ์žˆ์–ด์š”.
  2. preconnect์™€ dns-prefetch ์ฐจ์ด
    • dns-prefetch: DNS ์กฐํšŒ๋งŒ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด์š”.
    • preconnect: DNS ์กฐํšŒ + ๋ณด์•ˆ ์—ฐ๊ฒฐ๊นŒ์ง€ ๋ชจ๋‘ ์ค€๋น„ํ•ด์š”.

 

๐ŸŒŸ ํ•œ ์ค„ ์š”์•ฝ

**preconnect**๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์— ๋ฏธ๋ฆฌ ์—ฐ๊ฒฐํ•ด ๋‘๋„๋ก ํ•ด์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ธฐ๋Šฅ์ด์—์š”.

 

 

๐ŸŽ‰ ๋งˆ๋ฌด๋ฆฌ

preconnect๋Š” ์›น์‚ฌ์ดํŠธ์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์˜ˆ์š”.
์™ธ๋ถ€ ํฐํŠธ, ์ด๋ฏธ์ง€, API ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•œ ์ค„๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ํฐ ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค! ๐Ÿš€

728x90
๋ฐ˜์‘ํ˜•

'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
๋งํฌ
ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
๊ธ€ ๋ณด๊ด€ํ•จ
๋ฐ˜์‘ํ˜•
250x250