๋ง์ฝ Naver ํํ์ด์ง์ ์ ์ํ๊ณ ์ถ์ ๋ ์ฐ๋ฆฌ๋ ๋ธ๋ผ์ฐ์ ์ ์ฃผ์์ฐฝ์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅ์ ํ๋๋ฐ ์ด๋ ์ด๋ค ๊ณผ์ ์ ํตํด์ Naver์ ์ ๊ทผํ ์ ์์๊น?
๋จผ์ ๊ทธ๋ฆผ์ผ๋ก๋ง ํํํด๋ณด์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ฐ๋ฆฌ๊ฐ ์ ๋ ฅํ๋ ์ฃผ์(www.naver.com)๋ ์น ์์์ ์ฌ๋๋ค์ด ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํ ๋๋ฉ์ธ์ด๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ํด๋น ํํ์ด์ง์ ์ ๊ทผํ๊ธฐ ์ํด์๋ ๊ฒฐ๊ตญ ์ ๊ทผํ๊ณ ์ ํ๋ ๊ณณ์ IP๋ฅผ ์์์ผ ํ๋ค.
์ฐ๋ฆฌ๊ฐ ์ฃผ์๋ฅผ ์ ๋ ฅํ๊ณ Enter๋ฅผ ๋๋ฅด๊ฒ ๋๋ฉด ๋จผ์ ์ฐ๋ฆฌ์ PC์ ์กด์ฌํ๋ Hosts ํ์ผ์ ์ดํด๋ณธ๋ค. ๋๋ฉ์ธ๊ณผ IP๊ฐ ๋งคํ๋์ด์์ง ์๋ค๋ฉด DNS๋ฅผ ํตํด IP์ฃผ์๋ฅผ ๋ฐ์์์ผ ํ๋ค.
DNS (Domain Name System)
์น ์ฌ์ดํธ์ IP์ฃผ์์ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์ด์ด์ฃผ๋ ์์คํ
- ๊ณ์ธต์ ๊ตฌ์กฐ๋ก ๋์ด ์์ผ๋ฉฐ ์์ ๋๋ฉ์ธ์ ๊ทธ ํ์ ๋๋ฉ์ธ์ ๊ด๋ฆฌํ๋ ํธ๋ฆฌ ๊ตฌ์กฐ ํํ์ด๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก DNS ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉฐ UDP๋ฐฉ์์ด๋ค.
- Default ํฌํธ๋ 53๋ฒ์ด๋ค.
DNS ์๋ฒ์์ ๋ฐ์์จ IP๋ฅผ ๋ฐ์์ฌ ๋ Root DNS ์๋ฒ๋ถํฐ ํ์์ ๋๋ฉ์ธ์ผ๋ก ๊ณ์ ์ฐพ๊ฒ ๋๋๋ฐ ๊ฐ์ ๋๋ฉ์ธ์ ์ ๊ทผํ ๋ ์ด๋ฐ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ ๊ฒ์ ๋๋ฌด ๋นํจ์จ์ ์ด๊ณ DNS ์๋ฒ์ ๋ถํ๋ฅผ ์ฃผ๊ธฐ ๋๋ฌธ์ Cacheํ๊ฒ ๋๋ค. ๋ง๋ฃ์๊ธฐ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ง๋ง ์ต๊ทผ์ ๋ฐฉ๋ฌธํ ์ฃผ์์ ๊ฒฝ์ฐ ์ด ์บ์๋ฅผ ํ์ฉํ๋ค.
IP ์ฃผ์๋ฅผ ์๊ฒ ๋๊ณ ํด๋น ์๋ฒ๋ก ์์ฒญ์ ํ๊ธฐ ์ํด TCP ์ฐ๊ฒฐ์ ์๋ํ๋ค.(HTTP ๊ธฐ๋ฐ์ด๋ฏ๋ก)
TCP ์ฐ๊ฒฐ์ด ์ ์์ ์ผ๋ก ์ด๋ฃจ์ด์ง๊ณ request๊ฐ ๋ ๋ผ๊ฐ๊ณ ์๋ฒ์์๋ ์์ฒญ์ ๋ฐ๋ฅธ response๋ฅผ ๋ฐ์์จ๋ค.
๐ฅ ๋ธ๋ผ์ฐ์ ์์๋!
๋ธ๋ผ์ฐ์ ์ ๋๋๋ง์์ง์ HTMLํ์๋ ๋ฐ์์จ ์๋ฒ์์ response๋ก ๋ฐ์ ํ์ผ ์ค HTML ํ์ผ์ ํ ํฐํ, ๋ ์ฑ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ DOM ํธ๋ฆฌ๋ก ๋ณํํ๋ค. ๋ํ CSSํ์๋ HTMLํ์์ ์ ์ฌํ ๋ฐฉ๋ฒ์ ๊ฑฐ์น๋ฉฐ CSSOM ํธ๋ฆฌ๋ฅผ ๋ง๋ ๋ค. ๋ง๋ค์ด์ง DOM, CSSOM์ ๊ฒฐํฉ๋์ด Render ํธ๋ฆฌ๊ฐ ์์ฑ๋๊ณ ์ด๋ฅผ ํ ๋๋ก ๊ทธ๋ ค์ง๋ค. HTMLํ์๋ ์์์๋ถํฐ ์์ฐจ์ ์ผ๋ก ํด์๋๋๋ฐ ์ค๊ฐ์ script ํ๊ทธ๋ฅผ ๋ง๋ Javascript๊ฐ ํ์ํ ๊ฒฝ์ฐ DOM ์์ฑ ํ๋ก์ธ์ค๋ฅผ ์ค์งํ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์๊ฒ ์ ์ด๊ถ์ ๋๊ฒจ์ฃผ๋ฉฐ Javascript๊ฐ ํด์๋๋ค.
DOM ํธ๋ฆฌ๊ฐ ์์ฑ๋๋ ๊ณผ์ ์ ๋ณด๋ฉด HTML์ ์ฝ๊ณ , ํ ํฐํ, ๋ ์ฑ์ ๊ฑฐ์น๊ณ ์ํ๊ด๊ณ๋ฅผ ํํํ๋ฉฐ ํธ๋ฆฌ๋ก ์์ฑ๋๋ค.
ํ ํฐํ๋ ๋งํฌ์ ์ "start tag", "end tag", "text" ๋ฑ๊ณผ ๊ฐ์ ๊ฐ๋ณ ํ ํฐ์ผ๋ก ๋ณํํ๋ค.
๋ ์ฑ์ ํ ํฐ์ ํด๋น ์์ฑ๊ณผ ๊ท์น์ ์ ์ํ๋ ๋ ธ๋ ๊ฐ์ฒด๋ก ๋ณํํ๋ ๊ณผ์ ์ด๋ค.
๋ ์ฑ์ ํตํด ๋์จ ๊ฒฐ๊ณผ๋ฌผ์ธ ๋ ธ๋ ๊ฐ์ฒด๋ค์ ์ํ ๊ด๊ณ๊ฐ ๋งบ์ด์ง๋ฉด์ DOM ํธ๋ฆฌ๊ฐ ์์ฑ๋๋ค
์ด์ ๊ฑฐ์ ๋์ผํ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ CSSOM๋ ์์ฑ๋๋ค.
์์ฑ๋ DOM๊ณผ CSSOM์ ๊ฒฐํฉ๋์ด Render ํธ๋ฆฌ๊ฐ ์์ฑ๋๋ค.
1. DOM ํธ๋ฆฌ์ ๋ฃจํธ์์ ์์ํ์ฌ ํ๋ฉด์ ํ์๋๋ ๋ ธ๋๋ฅผ ํ์ํ๋ค. ์ด๋ ํ๋ฉด์ ํ์๋์ง ์๋ ๋ ธ๋, CSS์ ์ํด ๋ํ๋์ง ์๋ ์์๋ค์ Render ํธ๋ฆฌ์ ๋ฐ์๋์ง ์๋๋ค.
2. ํ๋ฉด์ ํ์๋๋ ๊ฐ ๋ ธ๋์ ๋ํด ์ ์ ํ๊ฒ ์ผ์นํ๋ CSSOM ๊ท์น์ ์ฐพ์ ์ ์ฉํ๋ค.
3. ํ๋ฉด์ ํ์๋๋ ๋ ธ๋๋ฅผ ์ฝํ ์ธ ๋ฐ ๊ณ์ฐ๋ ์คํ์ผ๊ณผ ํจ๊ป ๋ด๋ณด๋ธ๋ค.
๋ ๋ ํธ๋ฆฌ๊ฐ ์์ฑ๋๊ณ , ๋ทฐํฌํธ์ ๋ ๋ ํธ๋ฆฌ์ ๋ ธ๋๊ฐ ์ ํํ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ ๊ณผ์ ์ Layout(Reflow)๋ผ๊ณ ํ๋ค. ์ด๋ ๋ชจ๋ ์๋์ ์ธ ๋จ์์ ์ ๋์ ์ธ ํฝ์ ๋จ์๋ก ๋ณํ๋๋ค. ์ดํ ๊ฐ ๋ ธ๋๋ฅผ ํ๋ฉด์ ์ค์ ํฝ์ ๋ก ๋ํ๋ด๋ ๊ณผ์ ์ Painting(rasterizing)๋ผ๊ณ ํ๋ค. Painting ๊ณผ์ ์ด ์ด๋ฃจ์ด์ง๋ฉด ๋ธ๋ผ์ฐ์ ํ๋ฉด์ UI๊ฐ ๋ํ๋๊ฒ ๋๋ค.
๐ ์ฐธ๊ณ
https://www.youtube.com/watch?v=GAyZ_QgYYYo
https://hwan-shell.tistory.com/320
DNS์ ๋ํ ์ค๋ช (๋ํ ์ผ ํ๊ฒ....)
DNS๋ ๋ฌด์์ผ๊น์?? Domain Name System์ ์ฝ์๋ก ์ธํฐ๋ท ์ฃผ์์ฐฝ์ Host Domain Name์ ์ ๋ ฅํ์ ๋(ex, naver.com, google.com ๋ฑ..) ํด๋น ๋ฌธ์๋ฅผ IP์ฃผ์๋ก ๋ณํํด ์ฃผ๋ ์์คํ ์ ๋งํฉ๋๋ค. ์ ๋ URL์ฐฝ์ Host Domain Name
hwan-shell.tistory.com
https://www.youtube.com/watch?v=sJ14cWjrNis
https://yceffort.kr/2021/11/jorney-from-tags-to-dom
Home
yceffort
yceffort.kr
https://poiemaweb.com/js-browser
Javascript Environment | PoiemaWeb
๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ด์์ฒด์ (Operating System, OS) ์์์ ์คํ๋์ง๋ง ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ธ๋ผ์ฐ์ ์์ HTML, CSS์ ํจ๊ป ์คํ๋๋ค. ๋ฐ๋ผ์ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ๊ณ ๋ คํ ๋ ๋ณด๋ค
poiemaweb.com
https://beomy.github.io/tech/browser/browser-rendering/
[Browser] ๋ธ๋ผ์ฐ์ ๋ ๋๋ง
๋ธ๋ผ์ฐ์ ๊ฐ ํ๋ฉด์ ๋ ๋๋ง ํ๋ ๊ณผ์ ์ ๋ํด ์ด์ผ๊ธฐํ ๊ฒ์ ๋๋ค.
beomy.github.io
'Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Web] CORS (0) | 2023.05.18 |
---|---|
[Web] Socket, WebSocket (์์ผ๊ณผ ์น์์ผ) (2) | 2023.03.14 |
[Web] JWT (0) | 2023.02.25 |
[Web] Webpack (0) | 2023.02.22 |