μΈν°λ·μ κΈλ‘λ²νκ² μ°κ²°λμ΄ μλ€. κ·Έλ¦¬κ³ λΈλΌμ°μ λ κ·Έ μΈν°λ· λ΄μμ λ€μν μ 보λ€μ μ΄μ΄λ³Ό μ μκ² λμμ£Όλ λꡬμ΄λ€.
BrowserλΌλ μ΄λ¦(browse: κ²μ)μ κ±Έλ§κ² HTML, μ΄λ―Έμ§, λμμ λ± λ€μν μλ£λ₯Ό μ¬μ©μμκ² μΆλ ₯ν΄μ£Όλ νμμ μΈ μννΈμ¨μ΄λ€. λΈλΌμ°μ λ λ¨μν μΆλ ₯ λΏλ§ μλλΌ μ¬λ¬ νΈλ¦¬ν κΈ°λ₯ λν μ 곡νλ€.
μ¦κ²¨μ°ΎκΈ°, μΊμ±, μΉ μ€ν 리μ§, 보μ μ 곡 λ± μΌλ° μ¬μ©μλ€μ λμ΄ λΏμ§ μλ κ³³μμ νΈμμ±μ μν΄ λ€μν μμ μ νλ€.
μλ§ μ μΈκ³μΈλ€μ΄ κ°μ₯ λ§μ΄ μ΄μ©νλ μννΈμ¨μ΄λΌλ©΄ λΈλΌμ°μ λ₯Ό κΌ½μ μ μμ κ² κ°λ€.
λΈλΌμ°μ μ ꡬμ±μ μμ κ·Έλ¦Όκ³Ό κ°λ€.
μ΄ ν¬μ€νΈμμλ λΈλΌμ°μ μ κ΅¬μ± μμ μ€ λ λλ§ μμ§μμ μ΄λ»κ² λ λλ§μ΄ μ΄λ£¨μ΄μ§λμ§ κ°λ΅νκ² μμλ³΄κ² λ€. π
μΆμ²: How Browsers Work: Behind the scenes of modern web browsers
λ λλ§ μμ§μ ν° νλ¦μ λ€μκ³Ό κ°λ€.
μ΄ κ³Όμ μμ DOM νΈλ¦¬μ ꡬμΆ, μ€νμΌ μμ νμ±, λ λ νΈλ¦¬ ꡬμΆμ μ μ§μ μΌλ‘ μ΄λ£¨μ΄μ§λ€.
λ λλ§ μμ§μ λ λμ μ¬μ©μ κ²½νμ μν΄ μ΄λ νλκ° μλ£λ λκΉμ§ κΈ°λ€λ¦¬μ§ μκ³ κ°λ₯ν ν 빨리 νλ©΄μ νμνλ €κ³ νλ€.
λ λ νΈλ¦¬μ DOM νΈλ¦¬λ 1λ1 λμμΈ κ²μ²λΌ λκ»΄μ§λ€. νμ§λ§ μ€μμ κ·Έλ μ§ μλ€.
DOM νΈλ¦¬ μ€ λΉμκ°μ μμλ λ λ νΈλ¦¬μ λ°μλμ§ μλλ°, headνκ·Έ, display none μμ±μ΄ μ μ©λ μμ λ±μ΄ μλ€.
μ΄λ display noneμΈ μμ±μ transitionμ μ μ©ν λ μ£Όμν΄μΌ νλλ°, transitionμ μ΄μ κ³Ό μ΄ν μνλ₯Ό λΉκ΅νλ©΄μ μλνκΈ° λλ¬Έμ΄λ€.
display noneμΈ μμλ λ λλ§ νΈλ¦¬μ μ¬λΌμ€μ§ μκΈ° λλ¬Έμ λΉκ΅κ° λΆκ°λ₯νκ² λλ€.
HTML νμΌκ³Ό CSS νμΌμ νμ±μ κ°κ° λ 립μ μΌλ‘ μ΄λ£¨μ΄μ§λ€κ³ νλ€. νμ§λ§ μ€ν¬λ¦½νΈ νμΌμ κ·Έλ μ§ μλ€.
μ΄μ λ μ€ν¬λ¦½νΈ νμΌμ΄ DOM μμλ₯Ό λ³κ²½μν¬ μ μκΈ° λλ¬Έμ΄λ€. κ·Έλ κΈ° λλ¬Έμ μ€ν¬λ¦½νΈ νμΌμ λ€μ΄λ‘λ, ν΄μ, μ€ννλ λμ€μλ λ¬Έμμ νμ±μ΄ μ€λ¨λλ€.
μ΅κ·Όμλ defer μμ±μ΄λ async μμ±μ ν΅ν΄ μ€νμ μ§μ°μν€κ±°λ λ³λμ λ§₯λ½μμ μ€ν¬λ¦½νΈλ₯Ό μ€νμν¬ μ μλ€.
μ€ν¬λ¦½νΈ νμΌμ΄ μ€νλλ λμ λ¬Έμμ νμ±μ΄ λ©μΆλ€κ³ νλ€. μ΄ λμ€μ μ€ν¬λ¦½νΈ νμΌμ΄ μ€νμΌμνΈ νμΌμ μμ²νλ©΄ μ΄λ»κ² λ κΉ?
λ§μ½ ν΄λΉ μ€νμΌμνΈ νμΌμ΄ νμ±λκΈ° μ΄μ μ΄λΌλ©΄ μ€ν¬λ¦½νΈ νμΌμ μμμΉ μμ κ²°κ³Όλ₯Ό λ΄κ² λλ€.
μ΄λ₯Ό λ°©μ§νκΈ° μν΄ νμ΄μ΄νμ€λ λͺ¨λ μ€νμΌ νμΌμ΄ νμ±λ λκΉμ§ μ€ν¬λ¦½νΈμ μ€νμ μ€λ¨νκ³ , μΉν·μ λ‘λλμ§ μμ μ€νμΌ νμΌμ μν₯μ λ°μ μ μλ νΉμ μμ±μ μ κ·Όνλ μ€ν¬λ¦½νΈμΌ κ²½μ°μλ§ μ€νμ μ€λ¨νλ€.
μΉν·κ³Ό νμ΄μ΄νμ€λ μμΈ‘ νμ±μ μ 곡νλ€. μ€ν¬λ¦½νΈκ° μ€νλλ λμ€ λ€λ₯Έ μ€λ λμμ νμν λ€νΈμν¬ μμμ λ€μ΄λ‘λ νκ±°λ λ¬Έμμ λλ¨Έμ§ λΆλΆμ νμ±νλ€.
μ΄λ¬ν λ³λ ¬μ μΈ μμ μ ν΅ν΄ μ 체μ μΈ μλλ₯Ό κ°μ ν μ μλ€. μμΈ‘ νμ±μ μΈλΆ μ΄λ―Έμ§, μΈλΆ μ€νμΌ μνΈ, μΈλΆ μ€ν¬λ¦½νΈλ§μ νμ±νλ€.
μ΄κ²μ DOM νΈλ¦¬λ₯Ό μμ νμ§ μλλ€.
μμ λ³κ²½ μ¬νμΌλ‘ μΈν΄ μ 체μ μΈ λ λλ§ κ³Όμ μΌ λ€μ κ±°μΉλ€λ©΄ μ λ§ λΉν¨μ¨μ μΌ κ²μ΄λ€. κ·Έλ κΈ° λλ¬Έμ λΈλΌμ°μ λ λν° λΉνΈ μμ€ν μ μ΄μ©νλ€.
λ³κ²½λκ±°λ μΆκ°λλ μ¬νμ΄ μλ λ λλ¬λ μμ κ³Ό μμμκ² λν° λΉνΈκ° λ§νΉλλ€.
κ·Έλ¦¬κ³ λΈλΌμ°μ λ μ΄κ²μ μ΄μ©ν΄ μ μμ μΌλ‘ μμλ₯Ό λ°°μΉνκ±°λ, νΉμ μ μ¦μ μΌλ‘ μμλ₯Ό μ¬λ°°μΉνλ€.
μ μ λ°°μΉ(λ μ΄μμ)λ κΈκΌ΄ λ³κ²½μ΄λ, νλ©΄ ν¬κΈ° λ³κ²½ κ°μ μν©μ΄ λ°μν λ μ 체μ μΈ λ μ΄μμμ μ¬κ΅¬μ±νλ μμ μ΄λ€.
μ΄μ λ°λλ‘ μ μ¦ λ°°μΉλ λν° λ λλ¬λ€μ νμ λ£κ±°λ, νμ΄λ¨Έλ₯Ό μ€μ νμ¬ μΌλΆλΆμ λΉλκΈ°μ μΌλ‘ λ€μ λ°°μΉνλ€. batch executionμΌλ‘ μμ μ λ©μ΄λ¦¬λ₯Ό νλ²μ μ²λ¦¬νλ€.
μμλ₯Ό νλ©΄μ μΆλ ₯νλ νμΈν κ³Όμ λν λν° λΉνΈλ₯Ό μ΄μ©ν΄ μ μ¦μ νΉμ μ μμ μΌλ‘ λ°μνλ€.
λ²μλ³ΈμΈ λΈλΌμ°μ λ μ΄λ»κ² λμνλκ°?μ μλ¬ΈμΈ How Browsers Work: Behind the scenes of modern web browsersλ₯Ό μ°Έκ³ νλ€.
μμ μμ±ν λ΄μ© μΈμλ μλ§μ λ΄μ©λ€μ΄ λ μμ§λ§, λ¬Έλ§₯ κ·μΉκ°μ λ΄μ©λ€μ λ무 μ¬ν λ΄μ©μ΄λΌκ³ μκ°ν΄ μλ΅νλ€. π₯