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

web/react dom

prefetchDNS

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

prefetchDNS
prefetchDNS ๋ž€?

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

**prefetchDNS**๋Š” ์›นํŽ˜์ด์ง€๊ฐ€ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•  ๋•Œ, ๋ฏธ๋ฆฌ DNS ์กฐํšŒ๋ฅผ ํ•ด๋‘๋Š” ๊ธฐ๋Šฅ์ด์—์š”.
DNS๋ž€ Domain Name System์˜ ์•ฝ์ž๋กœ,
์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ž…๋ ฅํ•˜๋Š” **๋„๋ฉ”์ธ ์ด๋ฆ„(์˜ˆ: google.com)**์„ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” IP ์ฃผ์†Œ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์‹œ์Šคํ…œ์ด์—์š”.

 

๐Ÿ• ๋น„์œ ๋กœ ์ดํ•ดํ•˜๊ธฐ: ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฏธ๋ฆฌ ์„ค์ •ํ•˜๊ธฐ ๐Ÿš—

์—ฌ๋Ÿฌ๋ถ„์ด ์ฐจ๋ฅผ ํƒ€๊ณ  ์—ฌํ–‰์„ ๋– ๋‚œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด ๋ด์š”!

  1. DNS ์กฐํšŒ ์—†์ด ์ถœ๋ฐœ
    • ๋„์ฐฉ์ง€๋ฅผ ๊ฐˆ ๋•Œ๋งˆ๋‹ค ๊ทธ๋•Œ๊ทธ๋•Œ ๋„ค๋น„๊ฒŒ์ด์…˜์œผ๋กœ ๊ธธ์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด์š”.
    • ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆฌ๊ณ , ์ถœ๋ฐœํ•  ๋•Œ๋งˆ๋‹ค ์ž ๊น ๊ธฐ๋‹ค๋ ค์•ผ๊ฒ ์ฃ ?
  2. prefetchDNS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
    • ์—ฌํ–‰์„ ๋– ๋‚˜๊ธฐ ์ „์— ๊ฐ€์•ผ ํ•  ๋ชจ๋“  ๋ชฉ์ ์ง€์˜ ๊ธธ์„ ๋ฏธ๋ฆฌ ๊ฒ€์ƒ‰ํ•ด ๋‘ก๋‹ˆ๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ๋ชฉ์ ์ง€์— ๋„์ฐฉํ•  ๋•Œ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ถœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ?

**prefetchDNS**๋Š” ์ด์ฒ˜๋Ÿผ ์›นํŽ˜์ด์ง€๊ฐ€ ์—ฐ๊ฒฐํ•ด์•ผ ํ•  ์„œ๋ฒ„ ์ฃผ์†Œ๋ฅผ ๋ฏธ๋ฆฌ ์ฐพ์•„์„œ
๋‚˜์ค‘์— ๋น ๋ฅด๊ฒŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ์ด์—์š”.

 

 

 

๐Ÿ› ๏ธ prefetchDNS ์‚ฌ์šฉ๋ฒ•

prefetchDNS๋Š” HTML์˜ <link> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”.
๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ **"์ด ์„œ๋ฒ„์˜ DNS๋ฅผ ๋ฏธ๋ฆฌ ํ™•์ธํ•ด๋‘ฌ!"**๋ผ๊ณ  ์•Œ๋ ค์ฃผ๋Š” ๊ฑฐ์ฃ .

 

1. ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

<head>
  <!-- DNS๋ฅผ ๋ฏธ๋ฆฌ ์กฐํšŒํ•  ์„œ๋ฒ„ ์ฃผ์†Œ ์„ค์ • -->
  <link rel="dns-prefetch" href="https://example.com" />
</head>

์„ค๋ช…:

  • rel="dns-prefetch": DNS ์กฐํšŒ๋ฅผ ๋ฏธ๋ฆฌ ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.
  • href: DNS๋ฅผ ์กฐํšŒํ•  ๋Œ€์ƒ ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ์ ์Šต๋‹ˆ๋‹ค.

 

 

 

2. ์‹ค์ „ ์˜ˆ์ œ: ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

์˜ˆ๋ฅผ ๋“ค์–ด, ์—ฌ๋Ÿฌ๋ถ„์˜ ์›น์‚ฌ์ดํŠธ์—์„œ Google Fonts๋‚˜ ์™ธ๋ถ€ API๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณผ๊ฒŒ์š”.
์ด๋Ÿฐ ๋ฆฌ์†Œ์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•ด DNS๋ฅผ ๋ฏธ๋ฆฌ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<head>
  <!-- Google Fonts ์„œ๋ฒ„์˜ DNS๋ฅผ ๋ฏธ๋ฆฌ ์กฐํšŒ -->
  <link rel="dns-prefetch" href="https://fonts.googleapis.com" />
  <link rel="dns-prefetch" href="https://fonts.gstatic.com" />
  
  <!-- ์™ธ๋ถ€ ์ด๋ฏธ์ง€ CDN ์„œ๋ฒ„ DNS ๋ฏธ๋ฆฌ ์กฐํšŒ -->
  <link rel="dns-prefetch" href="https://cdn.example.com" />
</head>

๐Ÿš€ prefetchDNS์˜ ์žฅ์ 

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

 

 

๐Ÿ” ์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ์š”?

  1. ์™ธ๋ถ€ ํฐํŠธ ์‚ฌ์šฉ ์‹œ
    • Google Fonts๋‚˜ ๋‹ค๋ฅธ ํฐํŠธ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ DNS๋ฅผ ๋ฏธ๋ฆฌ ์กฐํšŒํ•˜๋ฉด ํฐํŠธ๊ฐ€ ๋” ๋นจ๋ฆฌ ๋กœ๋”ฉ๋ผ์š”.
  2. ์ด๋ฏธ์ง€๋‚˜ ๋™์˜์ƒ CDN ์‚ฌ์šฉ ์‹œ
    • ์™ธ๋ถ€ CDN์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์—ฐ๊ฒฐ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์–ด์š”.
  3. ์™ธ๋ถ€ API ์„œ๋ฒ„ ์š”์ฒญ ์‹œ
    • ์™ธ๋ถ€ API ํ˜ธ์ถœ์ด ์žฆ๋‹ค๋ฉด, DNS๋ฅผ ๋ฏธ๋ฆฌ ์กฐํšŒํ•ด์„œ ์—ฐ๊ฒฐ ์†๋„๋ฅผ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
 

 

 

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

  1. ๋ถˆํ•„์š”ํ•œ DNS ์กฐํšŒ๋Š” ํ”ผํ•ด์•ผ ํ•ด์š”
    • ํ•„์š”ํ•˜์ง€ ์•Š์€ ์„œ๋ฒ„์˜ DNS๋ฅผ ๋ฏธ๋ฆฌ ์กฐํšŒํ•˜๋ฉด ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋‚˜๋น ์งˆ ์ˆ˜ ์žˆ์–ด์š”.
    • ์ž์ฃผ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š” ์„œ๋ฒ„์—๋งŒ dns-prefetch๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
  2. ์ด๋ฏธ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ DNS๋ฅผ ์บ์‹œํ•˜๋Š” ๊ฒฝ์šฐ
    • ๋ธŒ๋ผ์šฐ์ €๋Š” ์ž์ฃผ ์ ‘์†ํ•˜๋Š” DNS๋ฅผ ์ž๋™์œผ๋กœ ์บ์‹ฑ(์ €์žฅ)ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ผ์š”.

 

๐ŸŒŸ prefetchDNS์™€ preconnect ์ฐจ์ด์ 

  • dns-prefetch: DNS ์กฐํšŒ๋งŒ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด์š”.
  • preconnect: DNS ์กฐํšŒ + ๋ณด์•ˆ ์—ฐ๊ฒฐ(SSL)๊นŒ์ง€ ๋ชจ๋‘ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด์š”.

๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด **preconnect**๊ฐ€ ๋” ๋งŽ์€ ์ค€๋น„๋ฅผ ํ•˜์ง€๋งŒ, **dns-prefetch**๋Š” ๊ฐ€๋ณ๊ฒŒ DNS๋งŒ ์กฐํšŒํ•ด์š”.

 

 

 

 

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

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

 

 

 

 

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

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

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'web > react dom' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

preconnect  (2) 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/01   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ
๋ฐ˜์‘ํ˜•
250x250