์น ๋ธ๋ผ์ฐ์ ์์ ์ฃผ์์ฐฝ์ google.com์ ์ ๋ ฅํ์ ๋ ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊น?
๋ฉด์ ์ง๋ฌธ์ผ๋ก ๋ง์ด ๋์ค๋ ์ง๋ฌธ์ด๋ค.
ํฌ๊ฒ ๋ ๊ฐ์ง ๊ด์ ์ผ๋ก ๋๋์ด ๋ณผ ์ ์๋ค.
ํ๋๋, ๋คํธ์ํฌ ๊ด์ ์ด๊ณ ๋ ํ๋๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์น ํ์ด์ง๋ฅผ ๊ทธ๋ฆฌ๋ ๊ด์ ์ด๋ค.
์ ์ ์์ธํ ๋ค์ฌ๋ค๋ณผ์๋ก ๋๋ฌด ๋ณต์กํ๋ค.

์ฐ์ ๋คํธ์ํฌ ๊ด์ ๋ถํฐ ์์๋ณด๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ํ๋ฆ์ ๊ฐ๋๋ค.
์น ๋์ ๋ฐฉ์
- ์ฌ์ฉ์๊ฐ ์ฃผ์์ฐฝ์ url์ ์
๋ ฅํ๋ฉด HTTP request message๋ฅผ ์์ฑํ๋ค.
- IP ์ฃผ์๋ฅผ ์์์ผ ์ ์กํ ์ ์์ผ๋ฏ๋ก DNS๋ฅผ ํตํด serverIP์ฃผ์๋ฅผ ์์๋ธ๋ค.
- ๋ธ๋ผ์ฐ์ ๋ server IP์ 3 way handshake ๊ณผ์ ์ ๊ฐ๋๋ค.(TCP ์ฐ๊ฒฐ์ ํ๊ธฐ ์ํ ๊ณผ์ )
์ด ๊ณผ์ ์ TCP/IP ํ๋กํ ์ฝ์ ํต์ ํ๊ธฐ ์ ์ ํํ ์ ๋ณด ์ ์ก์ ์ํด ์ํ๋ฐฉ ์ปดํจํฐ์ ์ธ์ ์ ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ด๋ค.- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ ์์ ์์ฒญํ๋ SYN ํจํท์ ๋ณด๋ธ๋ค.
- ์๋ฒ๋ ์์ฒญ์ ์๋ฝํ๋ ACK ํจํท์ ํฌํจํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ธ๋ค (SYN + ACK)
- ํด๋ผ์ด์ธํธ๊ฐ ์ด๊ฒ์ ์์ ํ ํ ๋ฐ์ ACK ํจํท์ ์๋ฒ์๊ฒ ๋ฐ์กํ๋ฉด ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ server IP์๊ฒ ์๋ฃ๋ฅผ ์์ฒญํ๋ HTTP request message๋ฅผ ๋ง๋ค๊ณ TCP/IP ํจํท์ ์์ฑํ ์ดํ ์๋ฒ๋ก ์ ์ก ์์ฒญ์ ํ๋ค.
- server์์ HTTP request๋ฅผ unpacking ํด์ server process๋ก ๋ณด๋ธ ํ
request์ ๋ํ HTTP response message๋ฅผ ๋ง๋ ํ TCP/IP ํจํท์ ์์ฑํ ์ดํ ์ ๋ฌ๋ฐ์ ๋ฐฉ์๋๋ก client๋ก ์ ์กํ๋ค. - HTTP response message๊ฐ ๋์ฐฉํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์๋ค๋ฉด TCP ์ข
๋ฃํ๊ธฐ ์ํ 4 way handshake ๊ณผ์ ์ ๊ฐ๋๋ค.
- client TCP์์ FIN ์ธ๊ทธ๋จผํธ๋ฅผ server์๊ฒ ๋ณด๋ธ๋ค.
- server๋ FIN ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฐ์๋ค๋ ์๋ต์ ๋ํ ACK์ธ๊ทธ๋จผํธ๋ฅผ client๋ก ๋ณด๋ธ๋ค.
(์์ง server process๊ฐ ์ข ๋ฃ๋์ง ์์ ์ ์๋ค.) - server process ์ข ๋ฃํ ๋ค server TCP์์ FIN์ธ๊ทธ๋จผํธ๋ฅผ client TCP์ ๋ณด๋ธ๋ค.
- FIN ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฐ์ client๋ server์ ACK ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด๋ด๊ณ TCP ์ฐ๊ฒฐ์ด ์ข ๋ฃ๊ฐ ๋๋ค.
์๋๋ ๋ฆฌ์์ค๋ฅผ ๋ฐ์ ํ ํ๋ฉด์ด ๊ทธ๋ ค์ง๋ ๊ตฌ์กฐ์ด๋ค
๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๋ฐฉ์
- ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์์๋ถํฐ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ parsing(์น ํ์คํ ๊ธฐ๊ตฌ์ธ W3C๋ช ์ธ์ ๋ฐ๋ผ HTML๊ณผ CSS๋ฅผ ํด์)ํ๋ค.
- ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ์์ง์ HTML์ ํด์(parsing) ํ์ฌ DOM Tree๋ฅผ ์์ฑํ๋ค.
- ์ด๋ ๋ ๋๋ง ์์ง์ด ์คํ์ผ ํ๊ทธ๋ฅผ ๋ง๋๋ฉด HTML ํด์์ ์ค์งํ๊ณ CSS๋ฅผ parsing ํ์ฌ CSSOM Tree๋ฅผ ์์ฑํ๋ค.
- CSS ํด์์ ๋ง์น๋ฉด ์ด์ ์ ์ค์งํ HTML ํด์์ด ์ค๋จ๋ ์ง์ ๋ถํฐ ๋ค์ ํด์ํ๋ค.
- ์คํฌ๋ฆฝํธ ํ๊ทธ๋ฅผ ๋ง๋๋ฉด ๋ค์ ํด์์ ์ค์งํ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์๊ฒ ์ ์ด ๊ถํ์ ๋๊ธด๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ฝ๋๋ฅผ ํด์ํ์ฌ ์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ์ธ AST๋ฅผ ๋ง๋ค๊ณ ์คํํ๋ค.
- ์ค๋จ๋์๋ parsing์ ์ด์ด์ ์งํํ ํ ์์
์ ์๋ฃํ๋ค.
- ๋ธ๋ผ์ฐ์ ๋ DOM Tree์ CSSOM Tree ํฉ์ณ RenderTree๋ฅผ ์์ฑํ๋ค.
(RenderTree๋ฅผ ์์ฑํ๋ ๊ฒ๊น์ง constuction์ด๋ผ๊ณ ํ๋ค.) - ๋ ๋๋ง ์์ง์ RenderTree์ ๋
ธ๋๋ค์ ํ๋ฉด์ ์ฌ๋ฐ๋ฅธ ์์น์ ๊ทธ๋ฆฌ๋ ๋ ์ด์์(Layout) ์์
์ ์์ํ๋ค.
- UI Backend ๊ฐ RenderTree์ ๋
ธ๋๋ฅผ ๋๋ฉด์ UI๋ฅผ ๊ทธ๋ฆฐ๋ค. (paint)
- ๊ทธ๋ค์ ๋
ธ๋๋ค์ ๋ ์ด์ด ์์๋๋ก ๊ตฌ์ฑํ๋ composition ๋จ๊ณ
(z-index๊ฐ ๋ฎ์ ์์๋ฅผ ๋จผ์ ๋๊ณ ๊ทธ๋ค์์ ๋์ ์์๋ฅผ ๋๋ ๊ฒ)๋ฅผ ๊ฑฐ์น๋ค. - ์ ๊ณผ์ ์ ๊ฑฐ์ณ ์ต์ข
์ ์ผ๋ก ํ๋ฉด์ ์ถ๋ ฅ๋๋ค.
'CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
http ์ https (0) | 2022.08.01 |
---|---|
Process ๋? (0) | 2022.07.04 |