πŸ” λΈŒλΌμš°μ € λ™μž‘ 원리

κΉ€μ§€ν˜œΒ·2023λ…„ 8μ›” 23일
0

CS

λͺ©λ‘ 보기
4/5


πŸ” λΈŒλΌμš°μ €

: μ›Ή μ„œλ²„μ—μ„œ μ΄λ™ν•˜λ©°(navigate) 쌍방ν–₯으둜 ν†΅μ‹ ν•˜κ³ ,
HTML λ¬Έμ„œλ‚˜ νŒŒμΌμ„ 좜λ ₯ν•˜λŠ” κ·Έλž˜ν”½ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ 기반의 μ‘μš© μ†Œν”„νŠΈμ›¨μ–΄

  • λŒ€ν‘œμ μΈ HTTP μ‚¬μš©μž μ—μ΄μ „νŠΈμ˜ ν•˜λ‚˜μ΄κΈ°λ„ ν•˜λ‹€.

  • EX. νŒŒμ΄μ–΄ν­μŠ€, ꡬ글 크둬, 인터넷 μ΅μŠ€ν”Œλ‘œλŸ¬, 였페라, μ‚¬νŒŒλ¦¬

πŸ—¨ λΈŒλΌμš°μ € μ£Όμš” κΈ°λŠ₯

: μ‚¬μš©μžκ°€ μ„ νƒν•œ μžμ›μ„ μ„œλ²„μ— μš”μ²­ν•˜κ³  λΈŒλΌμš°μ €μ— ν‘œμ‹œν•˜λŠ” 것

μžμ›:

  • 보톡 HTML λ¬Έμ„œ, PDFλ‚˜ 이미지 λ˜λŠ” λ‹€λ₯Έ ν˜•νƒœμΌ μˆ˜λ„ μžˆλ‹€.
  • μžμ›μ˜ μ£Όμ†ŒλŠ” URI(Uniform Resource Identifier)에 μ˜ν•΄ 정해진닀.

-> HTMLκ³Ό CSS λͺ…세에 따라 HTML νŒŒμΌμ„ ν•΄μ„ν•΄μ„œ ν‘œμ‹œν•˜λŠ”λ°,
이 λͺ…μ„ΈλŠ” μ›Ή ν‘œμ€€ν™” 기ꡬ인 W3C(World Wide Web Consortium)μ—μ„œ μ •ν•œλ‹€.

μ΅œκ·Όμ—λŠ” λŒ€λΆ€λΆ„μ˜ λΈŒλΌμš°μ €κ°€ ν‘œμ€€ λͺ…μ„Έμ„œλ₯Ό λ”°λ₯Έλ‹€.

πŸ—¨ λΈŒλΌμš°μ € κΈ°λ³Έ ꡬ쑰

1. μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€:
μ£Όμ†Œ ν‘œμ‹œμ€„, 이전/λ‹€μŒ λ²„νŠΌ, 뢁마크 메뉴 λ“±.
μš”μ²­ν•œ νŽ˜μ΄μ§€λ₯Ό λ³΄μ—¬μ£ΌλŠ” 창을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€ λͺ¨λ“  뢀뢄이닀.

2. λΈŒλΌμš°μ € 엔진:
μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ™€ λ Œλ”λ§ 엔진 μ‚¬μ΄μ˜ λ™μž‘μ„ μ œμ–΄ν•œλ‹€.

3. λ Œλ”λ§ 엔진:
μš”μ²­ν•œ μ½˜ν…μΈ λ₯Ό ν‘œμ‹œν•œλ‹€.
(EX. HTML을 μš”μ²­ν•˜λ©΄ HTMLκ³Ό CSSλ₯Ό νŒŒμ‹±ν•˜μ—¬ 화면에 ν‘œμ‹œν•œλ‹€.)

4. 톡신:
HTTP μš”μ²­κ³Ό 같은 λ„€νŠΈμ›Œν¬ ν˜ΈμΆœμ— μ‚¬μš©λœλ‹€.
이것은 ν”Œλž«νΌ 독립적인 μΈν„°νŽ˜μ΄μŠ€μ΄κ³  각 ν”Œλž«νΌ ν•˜λΆ€μ—μ„œ μ‹€ν–‰λœλ‹€.

5. UI λ°±μ—”λ“œ:
콀보 λ°•μŠ€μ™€ μ°½ 같은 기본적인 μž₯치λ₯Ό κ·Έλ¦°λ‹€.
ν”Œλž«νΌμ—μ„œ λͺ…μ‹œν•˜μ§€ μ•Šμ€ 일반적인 μΈν„°νŽ˜μ΄μŠ€λ‘œμ„œ, OS μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ 체계λ₯Ό μ‚¬μš©ν•œλ‹€.

6. μžλ°”μŠ€ν¬λ¦½νŠΈ 해석기:
μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œλ₯Ό ν•΄μ„ν•˜κ³  μ‹€ν–‰ν•œλ‹€.

7. 자료 μ €μž₯μ†Œ:
이 뢀뢄은 자료λ₯Ό μ €μž₯ν•˜λŠ” 계측이닀.
μΏ ν‚€λ₯Ό μ €μž₯ν•˜λŠ” 것과 같이 λͺ¨λ“  μ’…λ₯˜μ˜ μžμ›μ„ ν•˜λ“œ λ””μŠ€ν¬μ— μ €μž₯ν•  ν•„μš”κ°€ μžˆλ‹€.
HTML5 λͺ…μ„Έμ—λŠ” λΈŒλΌμš°μ €κ°€ μ§€μ›ν•˜λŠ” 'μ›Ή 데이터 베이슀'κ°€ μ •μ˜λ˜μ–΄ μžˆλ‹€.


πŸ” λΈŒλΌμš°μ € λ™μž‘ 원리

1. μ‚¬μš©μž μž…λ ₯ 및 URL 해석:
μ‚¬μš©μžκ°€ μ£Όμ†Œ ν‘œμ‹œμ€„μ— μ›Ή νŽ˜μ΄μ§€ μ£Όμ†Œ(Uniform Resource Locator, URL)λ₯Ό μž…λ ₯ν•œλ‹€.
λΈŒλΌμš°μ €λŠ” ν•΄λ‹Ή URL을 ν•΄μ„ν•˜μ—¬ μ›Ή μ„œλ²„μ˜ μ£Όμ†Œμ™€ μ—°κ²°ν•  μ€€λΉ„λ₯Ό ν•œλ‹€.

2. μ„œλ²„μ™€μ˜ 톡신:
λΈŒλΌμš°μ €λŠ” μ›Ή μ„œλ²„μ— HTTP μš”μ²­μ„ λ³΄λ‚΄μ„œ μ›Ή νŽ˜μ΄μ§€μ˜ λ¦¬μ†ŒμŠ€λ₯Ό μš”μ²­ν•œλ‹€.
이 μš”μ²­μ€ 주둜 HTML 파일, CSS μŠ€νƒ€μΌ μ‹œνŠΈ, JavaScript 파일, 이미지 λ“±μ˜ λ¦¬μ†ŒμŠ€λ₯Ό ν¬ν•¨ν•œλ‹€.

3. HTML νŒŒμ‹±:
μ„œλ²„λ‘œλΆ€ν„° λ°›μ•„μ˜¨ HTML νŒŒμΌμ€ λΈŒλΌμš°μ €μ˜ λ Œλ”λ§ 엔진에 μ˜ν•΄ νŒŒμ‹±λœλ‹€.
HTML νŒŒμ‹±μ€ λ¬Έμ„œ ꡬ쑰λ₯Ό μ΄ν•΄ν•˜κ³  DOM(λ¬Έμ„œ 객체 λͺ¨λΈ)을 μƒμ„±ν•˜λŠ” 과정이닀.
DOM은 μ›Ή νŽ˜μ΄μ§€μ˜ μš”μ†Œλ“€μ„ 트리 ꡬ쑰둜 ν‘œν˜„ν•˜λŠ”λ°, 이λ₯Ό 톡해 각 μš”μ†Œμ˜ 관계와 μœ„μΉ˜λ₯Ό μ•Œ 수 μžˆλ‹€.

4. CSS νŒŒμ‹± 및 μŠ€νƒ€μΌλ§:
λΈŒλΌμš°μ €λŠ” HTML νŒŒμ‹± 후에 CSS μŠ€νƒ€μΌ μ‹œνŠΈλ₯Ό νŒŒμ‹±ν•˜μ—¬ 각 μš”μ†Œμ˜ μŠ€νƒ€μΌ 정보λ₯Ό μΆ”μΆœν•œλ‹€.
이 정보λ₯Ό μ‚¬μš©ν•˜μ—¬ 각 μš”μ†Œμ˜ λ ˆμ΄μ•„μ›ƒκ³Ό λ””μžμΈμ„ κ²°μ •ν•œλ‹€.

5. λ Œλ” 트리 생성:
DOMκ³Ό CSS μŠ€νƒ€μΌ 정보λ₯Ό κ²°ν•©ν•˜μ—¬ λ Œλ” 트리(Render Tree)λΌλŠ” μƒˆλ‘œμš΄ 트리 ꡬ쑰λ₯Ό μƒμ„±ν•œλ‹€.
λ Œλ” νŠΈλ¦¬λŠ” μ‹€μ œλ‘œ 화면에 ν‘œμ‹œλ˜λŠ” μš”μ†Œλ“€μ„ ν¬ν•¨ν•˜λ©°, λ ˆμ΄μ•„μ›ƒκ³Ό μ‹œκ°μ μΈ 속성을 λ°˜μ˜ν•œλ‹€.

6. λ Œλ”λ§:
λΈŒλΌμš°μ €λŠ” λ Œλ” 트리λ₯Ό 기반으둜 μ›Ή νŽ˜μ΄μ§€λ₯Ό 화면에 κ·Έλ¦°λ‹€.
각 μš”μ†Œμ˜ μœ„μΉ˜, 크기, 색상 등을 κ³ λ €ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ μ΅œμ’…μ μœΌλ‘œ μ‹œκ°μ μœΌλ‘œ ν‘œμ‹œλœλ‹€.

7. μžλ°”μŠ€ν¬λ¦½νŠΈ 해석 및 μ‹€ν–‰:
μ›Ή νŽ˜μ΄μ§€κ°€ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€λ©΄, λΈŒλΌμš°μ €λŠ” ν•΄λ‹Ή μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œλ₯Ό ν•΄μ„ν•˜κ³  μ‹€ν–‰ν•œλ‹€.
이λ₯Ό 톡해 동적인 κΈ°λŠ₯μ΄λ‚˜ μ‚¬μš©μžμ™€μ˜ μƒν˜Έμž‘μš©μ„ κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€.

8. 이벀트 처리:
μ‚¬μš©μžμ˜ μž…λ ₯μ΄λ‚˜ μ›Ή νŽ˜μ΄μ§€μ˜ μƒνƒœ 변화에 따라 λΈŒλΌμš°μ €λŠ” 이벀트λ₯Ό κ°μ§€ν•˜κ³  μ²˜λ¦¬ν•œλ‹€.
μ΄λ²€νŠΈλŠ” 클릭, ν‚€λ³΄λ“œ μž…λ ₯, 마우슀 μ›€μ§μž„ λ“± λ‹€μ–‘ν•œ μƒν˜Έμž‘μš©μ„ ν¬ν•¨ν•œλ‹€.

9. λΈŒλΌμš°μ € μ—…λ°μ΄νŠΈ:
λΈŒλΌμš°μ €λŠ” μ›Ή νŽ˜μ΄μ§€λ₯Ό 계속 λͺ¨λ‹ˆν„°λ§ν•˜λ©° λ³€κ²½ 사항이 μžˆμ„ λ•Œλ§ˆλ‹€ 화면을 μ—…λ°μ΄νŠΈν•œλ‹€.
μ΄λŠ” μ‹€μ‹œκ°„μœΌλ‘œ λ³€ν•˜λŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό μƒν˜Έμž‘μš©ν•  λ•Œ μ€‘μš”ν•œ 역할을 ν•œλ‹€.

0개의 λŒ“κΈ€