๐ ์ค๋ ํฌ์คํ ์์๋ ์๋ฒ๋ก๋ถํฐ ์ ๋ฌ(์๋ต)๋ฐ์ ์์์ ์ด๋ป๊ฒ ํ๋ฉด์ ์ถ๋ ฅํ๋ ์ง๋ฅผ ๋ค๋ฃฐ ์์ ์ด๋ค.
์ด ๊ธ์ ์ฝ๊ณ ๋๋ฉด, ๋ธ๋ผ์ฐ์ ์ฃผ์ ์ฐฝ์ google.com์ ์ ๋ ฅํ์ ๋ ์ด๋ค ๊ณผ์ ์ ๊ฑฐ์ณ ๊ตฌ๊ธ ํ์ด์ง๊ฐ ํ๋ฉด์ ๋ณด์ด๊ฒ ๋๋์ง ์๊ฒ ๋๋ค.
๋ชฉ์ฐจ
- ๋ธ๋ผ์ฐ์
- ๋ธ๋ผ์ฐ์ ์ ๊ตฌ์ฑ ์์
- ๋ ๋๋ง ์์ง์ ๋์ ์๋ฆฌ
๋ธ๋ผ์ฐ์
1) ๋ธ๋ผ์ฐ์ ๋?
๋ธ๋ผ์ฐ์ ๋ ์๋ ์์ด๋ ์น(WWW)์์ ์ ๋ณด๋ฅผ ๊ฒ์, ํํํ๊ณ ํ์ํ๊ธฐ ์ํ ์ํํธ์จ์ด์ด๋ค.
์๋ฅผ ๋ค์ด, ๊ตฌ๊ธ ํฌ๋กฌ, ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ ๋ฑ๊ณผ ๊ฐ์ด ๊ฒ์์ฐฝ์ด ์๋ ํ๋ก๊ทธ๋จ์ด๋ผ ์๊ฐํ๋ฉด ๋๋ค.
๋ธ๋ผ์ฐ์ ๋ ์ธํฐ๋ท์์ ํน์ ์ ๋ณด๋ก ์ด๋ํ ์ ์๋ ์ฃผ์ ์ ๋ ฅ์ฐฝ(=์ธํฐํ์ด์ค)์ด ์๊ณ , ์๋ฒ์ HTTP๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๋คํธ์ํฌ ๋ชจ๋๋ ํฌํจํ๊ณ ์๋ค.
์๋ฒ์์ ๋ฐ์ ๋ฌธ์(HTML, CSS, Javascript)๋ฅผ ํด์ํ๊ณ ์คํํ์ฌ ํ๋ฉด์ ํํํ๊ธฐ ์ํ ํด์๊ธฐ(Parser)๋ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
2) ๋ธ๋ผ์ฐ์ ์ ์ญํ
๋ธ๋ผ์ฐ์ ์ ์ฃผ์ ์ญํ ์ 2๊ฐ์ง์ด๋ค.
์ฒซ์งธ, ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ(์ํ๋) ์นํ์ด์ง, ์ด๋ฏธ์ง, ๋์์ ๋ฑ์ ์์์ ์๋ฒ์๊ฒ ์์ฒญํ๋ ์ญํ
๋์งธ, ์๋ฒ๋ก๋ถํฐ ์ ๋ฌ(์๋ต)๋ฐ์ ์์์ ํ๋ฉด์ ์ถ๋ ฅํ๋ ์ญํ
๋ธ๋ผ์ฐ์ ์ ๊ตฌ์ฑ ์์
๋ธ๋ผ์ฐ์ ์ ๊ตฌ์ฑ ์์์๋ User Interface, Browser Engine, Rendering Engine, Networking, JS Engine, UI Backend, Data Storage๊ฐ ์๋ค.
User Interface |
- ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์๋ ์์ญ์ด๋ค. - ์๋ฅผ ๋ค์ด, ๊ฒ์์ฐฝ, ๋ค๋ก๊ฐ๊ธฐ/์์ผ๋ก๊ฐ๊ธฐ ๋ฒํผ, ์๋ก ๊ณ ์นจ ๋ฒํผ ๋ฑ ๋ธ๋ผ์ฐ์ ํ๋ก๊ทธ๋จ ์์ฒด์ GUI๋ฅผ ๊ตฌ์ฑํ๋ ๋ถ๋ถ์ด๋ค. |
Browser Engine |
- User Interface์ Rendering Engine ์ฌ์ด์ ๋์์ ์ ์ดํด์ฃผ๋ ์์ง์ด๋ค. - ๋ธ๋ผ์ฐ์ ๋ผ๋ ํ๋ก๊ทธ๋จ์ ๋น์ฆ๋์ค ๋ก์ง, ํต์ฌ ์ค์ถ ๋ถ๋ถ์ด๋ค. - Data Storage๋ฅผ ์ฐธ์กฐํ๋ฉฐ ๋ก์ปฌ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ณ ์ฝ์ผ๋ฉด์ ๋ค์ํ ์์ ์ ํ๋ค. |
Rendering Engine | - ์์ฒญํ ์ฝํ
์ธ ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๋ ์ญํ ์ด๋ค. - HTML, CSS ๋ฑ์ ํ์ฑํ์ฌ ์ต์ข ์ ์ผ๋ก ํ๋ฉด์ ๊ทธ๋ฆฐ๋ค. |
Networking | - http ์์ฒญ์ ํ ์ ์์ผ๋ฉฐ ๋คํฐ์ํฌ๋ฅผ ํธ์ถํ ์ ์๋ค. |
JS Engine | - javascript ์ฝ๋๋ฅผ ํด์ํ๊ณ ์คํํ๋ค. |
UI Backend | - ๊ธฐ๋ณธ์ ์ธ ์์ ฏ์ ๊ทธ๋ฆฌ๋ ์ธํฐํ์ด์ค์ด๋ค. |
Data Storage | - Local Storage, Indexed DB, ์ฟ ํค ๋ฑ ๋ธ๋ผ์ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์ ์ฅํ๋ ์์ญ์ด๋ค. |
๋ ๋๋ง ์์ง์ ๋์ ์๋ฆฌ
1) ๋ ๋๋ง ์์ง์ ๊ธฐ๋ณธ์ ์ธ ๋์ ์๋ฆฌ
โ ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ๋ก๋ถํฐ HTML ๋ฌธ์๋ฅผ ๋ชจ๋ ์ ๋ฌ ๋ฐ๋๋ค.
โก ๋ ๋๋ง ์์ง์ ์ ๋ฌ๋ฐ์ HTML ๋ฌธ์ ํ์ฑํ์ฌ DOM ํธ๋ฆฌ๋ฅผ ๊ตฌ์ถํ๋ค.
โข ์ธ๋ถ CSS ํ์ผ๊ณผ ํจ๊ป ํฌํจ๋ ์คํ์ผ ์์๋ฅผ ํ์ฑํ๋ค.
โฃ DOM ํธ๋ฆฌ์ โข์ ๊ฒฐ๊ณผ๋ฌผ์ ํฉ์ณ ๋ ๋ ํธ๋ฆฌ๋ฅผ ๊ตฌ์ถํ๋ค.
โค ๋ ๋ ํธ๋ฆฌ์ ๊ฐ ๋ ธ๋์ ๋ํด์ ํ๋ฉด ์์์ ์ด๋์ ๋ฐฐ์นํ ์ง ๊ฒฐ์ ํ๋ค.
โฅ UI๋ฐฑ์๋์์ ๋ ๋ ํธ๋ฆฌ๋ฅผ ๊ทธ๋ฆฌ๊ฒ ๋๊ณ , ํ๋ฉด์ ์ฐ๋ฆฌ๊ฐ ๋ณผ ์ ์๋๋ก ์ถ๋ ฅ๋๋ค.
2) ๋ ๋๋ง ์์ง์ ๋์ ๊ณผ์ ์์
๋ ๋๋ง ์์ง์ ๊ธฐ๋ณธ ๋์ ๊ณผ์ ์ ๋ ์์ธํ๊ฒ ๋ํ๋ธ ๊ทธ๋ฆผ์ด๋ค.
๋ค์ํ ์ข ๋ฅ์ ๋ ๋๋ง ์์ง์ด ์กด์ฌํ์ง๋ง, ์ด๋ฒ ํฌ์คํ ์์๋ ์นํท ์๋๋ง ์์ง๋ง ๋ค๋ฃฐ ๊ฒ์ด๋ค.
๋ ๋๋ง ์์ง์ ์์ธํ ๊ณผ์ ์ ์ค๋ช ํด๋ณด๋ฉด, ๋ค์๊ณผ ๊ฐ๋ค.
โ DOM ํธ๋ฆฌ ๊ตฌ์ถ
- ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ๋ก๋ถํฐ HTML ๋ฌธ์๋ฅผ ๋ชจ๋ ์ ๋ฌ ๋ฐ๋๋ค.
- ์ดํ์ ๊ตฌ๋ฌธ์ ๋ถ์ํ์ฌ HTML ๋ฌธ์๋ฅผ ํ์ฑํ๊ณ , ํ์ฑ ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค. ๋ฌธ์ ํ์ฑ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ฝ๋๋ฅผ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐ๋ก ๋ณํํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ํ์ฑ ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก DOM ์์์ ์์ฑ ๋ ธ๋๋ฅผ ๊ฐ์ง๋ DOM ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค.
โก CSSOM(CSS Object Model) ์์ฑ
- โ ์ DOM์ ์์ฑํ ๋ ๊ฑฐ์ณค๋ ๊ณผ์ ์ ๊ทธ๋๋ก CSS์ ๋ฐ๋ณตํ๋ค.
- ๊ทธ ๊ฒฐ๊ณผ๋ก ๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ ํ์(Style Rules)์ผ๋ก ๋ณํ๋๋ค.
โข ๋ ๋ ํธ๋ฆฌ(DOM + CSSOM) ์์ฑ
- DOM Tree๊ฐ ๊ตฌ์ถ์ด ๋์ด๊ฐ๋ ๋์ ๋ธ๋ผ์ฐ์ ๋ DOM Tree๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ๋ ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค. ๋ฌธ์๋ฅผ ์๊ฐ์ ์ธ ๊ตฌ์ฑ ์์๋ก ๋ง๋ค์ด์ฃผ๋ ์ญํ ์ ํ๋ค.
โฃ ๋ ๋ ํธ๋ฆฌ ๋ฐฐ์น
- ๋ ๋๋ง ํธ๋ฆฌ๋ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์, ๊ฐ์ฒด๋ค์๊ฒ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํด์ค๋ค.
โค ๋ ๋ ํธ๋ฆฌ ๊ทธ๋ฆฌ๊ธฐ
- ๋ ๋ ํธ๋ฆฌ์ ๊ฐ ๋ ธ๋๋ฅผ ํ๋ฉด์ ํฝ์ ๋ก ๋ํ๋ธ๋ค.
- ๋ ๋ ํธ๋ฆฌ ๊ทธ๋ฆฌ๊ธฐ๊ฐ ์๋ฃ๋๋ฉด, ํ๋ฉด์ ์ฝํ ์ธ ๊ฐ ํํ๋๋ค.
์ ๊ธ์ edwith์ < [๋ถ์คํธ ์ฝ์ค] ์น ํ๋ก๊ทธ๋๋ฐ > ๊ฐ์ ์์ฒญ๊ณผ ์๋ฃ ์กฐ์ฌ๋ฅผ ํตํด ๊ณต๋ถํ ๋ด์ฉ์ ์์ฑํ ๊ฒ ์ ๋๋ค.
๋ด์ฉ์ ์ค๋ฅ๊ฐ ์๋ค๋ฉด ๋๊ธ๋ก ์ ์ด์ฃผ์ธ์. ๐
'CS > Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ARP (Address Resolution Protocol) (0) | 2023.09.30 |
---|---|
์น ์๋ฒ vs WAS (0) | 2020.09.10 |
์น(WWW)์ ๋์ ์๋ฆฌ (0) | 2020.09.09 |
[ ์น(WWW) ๊ธฐ๋ณธ ๊ฐ๋ ] URL, HTTP, IP, ๋๋ฉ์ธ, ํฌํธ (0) | 2020.09.09 |
์ธํฐ๋ท(Internet)๊ณผ ์น(WWW) (0) | 2020.09.09 |