κ²μ μ΅μ ν λ‘λ© μλ ν₯μ λ°©λ² [ DNS-prefetch ]λ₯Ό μ¬μ© λ°©λ²
λ°νμΌ: 2024. 10. 25.
λ‘λ© μλ μ΅μ νμ€ DNS μ΅μ νμ κ²μ μμ§ μλ ν₯μ λ°©λ²
DNS μ΅μ νλ‘ νμ΄μ§ λ‘λ© μλ ν₯μμν€λ λ°©λ²
DNS (λλ©μΈμμ€ν , Domain Name System)μ μΈν°λ·μμ μ¬μ©λλ μ£Όμ체κ³μ λλ€. μ»΄ν¨ν°λ μ¬λμ΄ μ΄ν΄ν μ μλ λλ©μΈ μ΄λ¦(μ: example.com)μ μ»΄ν¨ν°κ° μ΄ν΄ν μ μλ IP μ£Όμ(μ: 192.0.2.1)λ‘ λ³νν΄ μ£Όλ μν μ ν©λλ€. DNS μ΅μ νλ κ²μ μμ§ μλλ₯Ό μ΅μ ννλ λ°©λ² μ€ νλμ λλ€.
κ²μ μμ§ μ΅μ νμμ μλλ μΈλΆ μ°Έμ‘° μ¬μ΄νΈλ₯Ό μ°κ²°ν λ λ§μ λΆνλ₯Ό λ°κ² λ©λλ€.
λΈλΌμ°μ κ° νμ΄μ§μ μ μν λ μ°Έμ‘°ν΄μΌ νλ μΈλΆ μ¬μ΄νΈμ μ 보λ μ μ μκ°κ³Ό ν΄λΉ μμλ₯Ό λΆλ¬μ€λ μκ°μ ν¬ν¨ν©λλ€. λ°λΌμ μ μ μ§μ°μ΄ λ°μνλ©΄ κ²μ μμ§ μ΅μ νμ λ‘λ© μλμ λΆμ μ μΈ μν₯μ λ―ΈμΉ μ μμ΅λλ€.
DNS Prefetchμ Preconnectλ‘ μ¬μ΄νΈ λ‘λ© μκ° λ¨μΆνκΈ°
λ‘λ© μλ Prefetch
Prefetchλ λΈλΌμ°μ κ° μ¬μ©μκ° μμΌλ‘ μμ²ν 리μμ€λ₯Ό μ¬μ μ λΆλ¬μ€λ λ°©λ²μ λλ€. μ¬μ©μκ° μ€μ λ‘ ν΄λΉ 리μμ€λ₯Ό μμ²νκΈ° μ μ λΈλΌμ°μ κ° λ―Έλ¦¬ λ€μ΄λ‘λνλλ‘ μ λν©λλ€. DNS-prefetchλ λΈλΌμ°μ κ° μΈλΆ μ¬μ΄νΈμ λλ©μΈ μ΄λ¦κ³Ό IP μ£Όμλ₯Ό 미리 νμΈνμ¬ DNS μΊμ±μ νλλ‘ μ λν©λλ€.
μ΄λ¬ν μΊμ± λ°©λ²μ νμ΄μ§μ λ‘λ© μλλ₯Ό ν₯μμν¬ μ μμΌλ©°, νΉν μΈλΆ νμ΄μ§μ μμ‘΄λκ° λμ λΈλ‘κ·Έμ κ°μ νμ΄μ§μμλ λ‘λ© μλμ μ€μν μν₯μ λ―ΈμΉ μ μμ΅λλ€
HTMLμμ μ¬μ©ν λλ μλμ κ°μ μ½λ νμμΌλ‘ μ§μ νμ¬ μ¬μ©νλ©΄ λ©λλ€. μ 3μ λλ©μΈ 리μμ€λ₯Ό μ¬μ©νλ μ£Όμλ₯Ό μ μ΄ μ£Όμλ©΄ λ©λλ€.
<link rel="dns-prefetch" href="https://tistory1.daumcdn.net/">
<link rel="dns-prefetch" href="https://t1.daumcdn.net/">
<link rel="dns-prefetch" href="https://blog.kakaocdn.net/">
<link rel="dns-prefetch" href="https://developers.kakao.com/">
<link rel="dns-prefetch" href="https://fonts.googleapis.com/" />
λ‘λ© μλ Preconnect
Preconnectμ λΈλΌμ°μ κ° μλ²μμ μ°κ²°μ μ¬μ μ μ€μ νμ¬ λ‘λ© μκ°μ μ΅μ ννλ λ°©λ²μ λλ€. μ£Όλ‘ λ€μκ³Ό κ°μ μμ μ μ¬μ μ μ²λ¦¬ν©λλ€:
- μλ²μ λλ©μΈ μ΄λ¦μ IP μ£Όμλ‘ λ³ννλ κ³Όμ μ μ¬μ μ μ²λ¦¬νμ¬ μκ°μ λ¨μΆν©λλ€.
- μ€μ λ°μ΄ν° μ μ‘μ μν TCP μ°κ²° μ€μ μ 미리 μνν©λλ€.
- HTTPS νλ‘ν μ½μ μ¬μ©νλ κ²½μ°, TLS(SSL) μ°κ²° μ€μ μ μ¬μ μ μ²λ¦¬ν©λλ€.
μλλ preconnectλ₯Ό μ¬μ©ν μμμ λλ€:
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://cdn.example.com" crossorigin>
μμ λ°©λ²μμ¬μ©ν λ μ£Όμν μ μ λΈλΌμ°μ κ° λͺ¨λ 리μμ€λ₯Ό λμμ λ‘λνλ € νμ§ μλλ‘ κ΄λ¦¬νλ κ²μ λλ€. λ무 λ§μ 리μμ€λ₯Ό μ§μ νλ©΄ μ€νλ € μ±λ₯μ λΆμ μ μΈ μν₯μ λ―ΈμΉ μ μμ΅λλ€. λ°λΌμ νμν κ²½μ°μλ§ preloadμ preconnectλ₯Ό μ¬μ©νκ³ , νΉν μ€μν 리μμ€μλ§ μ μ©νλ κ²μ΄ μ’μ΅λλ€.