๐ ๋ธ๋ผ์ฐ์ ์ www.naver.com์ ์ ๋ ฅํ๋ฉด ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊น์?
์ง๊ธ์ง๊ธํ ๋ฉด์ ์ง๋ฌธ ์ค ํ๋. ๋ธ๋ผ์ฐ์ ์ ~๋ฅผ ์
๋ ฅํ๋ฉด ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๊น์!!!!!!!!!!
์ ๋ง ๊ณจ์น์ํ๊ฐ์ ๐ฅฒ
์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋งค์ผ๊ฐ์ด ์ฌ์ฉํ๋ ์น ๋ธ๋ผ์ฐ์ .
๊ทธ ์ฃผ์์ฐฝ์ www.naver.com์ ์
๋ ฅํ๋ฉด ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง, ๋ด๋ถ ๋์์ ๋จ๊ณ๋ณ๋ก ์ ๋ฆฌํด๋ณด์์ต๋๋ค.
๊ฒ์ผ๋ก ๋ณด๊ธฐ์ ๋จ์ํ ๋์์ฒ๋ผ ๋ณด์ด์ง๋ง, ๋ธ๋ผ์ฐ์ ๋ด๋ถ์์๋ ๊ฝค๋ ๋ง์ ์ผ๋ค์ด ๋ฒ์ด์ง๊ณ ์์ด์.
์ด ๊ณจ์น์ํ ๋์ ์ด์ ํด๊ฒฐํด๋ด
์๋ค.
๋ธ๋ผ์ฐ์ ์ www.naver.com์ ์ ๋ ฅํ๋ฉด ๋ฒ์ด์ง๋ ์ผ
1๏ธโฃ URL ํ์ฑ
๋ธ๋ผ์ฐ์ ๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์ฃผ์๋ฅผ URL ํ์ฑ์ผ๋ก ๋ถ์ํด ํ๋กํ ์ฝ, ํธ์คํธ, ๊ฒฝ๋ก ๋ฑ์ ํ์
ํฉ๋๋ค.
์๋ฅผ ๋ค์ด https://www.naver.com์ ๊ฒฝ์ฐ:
- ํ๋กํ ์ฝ: https
- ํธ์คํธ: www.naver.com
- ๊ฒฝ๋ก: / (์๋ต๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ)
2๏ธโฃ ๋ธ๋ผ์ฐ์ ์บ์ ํ์ธ
๋ธ๋ผ์ฐ์ ๋ DNS ์บ์, HTTP ์บ์ ๋ฑ ๊ธฐ์กด์ ์ ์ฅ๋ ์ ๋ณด๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
๋ง์ฝ ์ด์ ๋ฐฉ๋ฌธ ๊ธฐ๋ก์ด ์๋ค๋ฉด, ์ผ๋ถ ๋ฐ์ดํฐ๋ ๋คํธ์ํฌ ์์ฒญ ์์ด ์ฌ์ฌ์ฉ๋ ์๋ ์์ด์.
3๏ธโฃ DNS ์กฐํ
www.naver.com์ด๋ผ๋ ๋๋ฉ์ธ์ IP ์ฃผ์๋ก ๋ณํํ๊ธฐ ์ํด DNS ์๋ฒ๋ฅผ ์กฐํํฉ๋๋ค.
์ด๋ OS → ๋ก์ปฌ DNS ์บ์ → ISP DNS ์๋ฒ ์์๋ก ํ์ธํ๋ฉฐ,
๊ฒฐ๊ณผ์ ์ผ๋ก ์: 223.130.195.200 ๊ฐ์ IP๋ฅผ ์ป์ต๋๋ค.
4๏ธโฃ TCP ์ฐ๊ฒฐ (3-way ํธ๋์ ฐ์ดํฌ)
IP๋ฅผ ์์๋ธ ๋ธ๋ผ์ฐ์ ๋ ํด๋น ์๋ฒ์ TCP ์ฐ๊ฒฐ์ ๋งบ์ต๋๋ค.
- [SYN] → [SYN-ACK] ← [ACK] ๊ณผ์ ์ ๊ฑฐ์น๋ 3-way ํธ๋์ ฐ์ดํฌ๊ฐ ์ด๋ฃจ์ด์ ธ์.
5๏ธโฃ TLS ํธ๋์ ฐ์ดํฌ (HTTPS์ธ ๊ฒฝ์ฐ)
๋ณด์ ์ฐ๊ฒฐ์ ์ํด TLS ํธ๋์
ฐ์ดํฌ๊ฐ ์งํ๋ฉ๋๋ค.
์ด ๊ณผ์ ์์ ์ธ์ฆ์ ๊ฒ์ฆ, ๋์นญํค ๊ตํ ๋ฑ์ด ์ด๋ฃจ์ด์ง๋ฉฐ ์ํธํ๋ ํต์ ์ด ์ค๋น๋ฉ๋๋ค.
6๏ธโฃ HTTP ์์ฒญ ์ ์ก
์ฐ๊ฒฐ์ด ์๋ฃ๋๋ฉด TCP ์์์ ๋ค์๊ณผ ๊ฐ์ ํํ์ HTTP ์์ฒญ์ด ์ ์ก๋ฉ๋๋ค.
์์ฒญ์๋ ์ฟ ํค, ํ ํฐ, ๋ธ๋ผ์ฐ์ ์ ๋ณด ๋ฑ์ด ํจ๊ป ํฌํจ๋ ์ ์์ด์.
GET / HTTP/1.1
Host: www.naver.com
User-Agent: ...
7๏ธโฃ ์๋ฒ ์๋ต
์๋ฒ๋ ์์ฒญ์ ์ฒ๋ฆฌํ ๋ค, HTML ๋ฌธ์์ ํจ๊ป ์๋ต์ ๋ฐํํฉ๋๋ค.
HTTP/1.1 200 OK
Content-Type: text/html
์ด ์ธ์๋ ๋ธ๋ผ์ฐ์ ๋ HTML์ ํ์ฑํ๋ฉฐ JS, CSS, ์ด๋ฏธ์ง ๋ฑ ์ถ๊ฐ ๋ฆฌ์์ค๋ฅผ ์์ฒญํฉ๋๋ค.
8๏ธโฃ ๋ ๋๋ง ํ์ดํ๋ผ์ธ ์คํ
๋์ฐฉํ HTML์ ๊ธฐ๋ฐ์ผ๋ก ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ๋๋ง ์์ ์ ์์ํฉ๋๋ค.
- HTML์ HTML ํ์ฑํ์ฌ DOM Tree ์์ฑ (ํ์์ JS๋ฅผ ์คํํ์ฌ DOM์ ์กฐ์ํจ)
- CSS๋ฅผ CSS ํ์ฑํ์ฌ CSSOM Tree ์์ฑ
- DOM Tree์ CSSOM Tree๋ฅผ ํฉ์ณ์ Render Tree ์์ฑ
- ๋ ์ด์์์ ๊ณ์ฐํ์ฌ Render Tree ์์ฑ
- Painting -> ํ๋ฉด ์ถ๋ ฅ
9๏ธโฃ ์น ํ์ด์ง ํ์
์ด์ ์ฌ์ฉ์๋ ๋ค์ด๋ฒ์ ํ ํ๋ฉด์ ๋ณผ ์ ์๊ฒ ๋ฉ๋๋ค.
์ถ๊ฐ์ ์ธ ์ฌ์ฉ์ ์ํธ์์ฉ(ํด๋ฆญ, ์
๋ ฅ ๋ฑ)์ ๋ฐ๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋์ํ๋ฉฐ ๋์ ์ธ ํ์ด์ง๊ฐ ์์ฑ๋ฉ๋๋ค.
์์ฝ
- URL ํ์ฑ
- ๋ธ๋ผ์ฐ์ ์บ์ ํ์ธ
- DNS ์กฐํ
- TCP 3-way-handshake ์ฐ๊ฒฐ
- TLS ํธ๋์ ฐ์ดํฌ (https์ธ ๊ฒฝ์ฐ)
- HTTP ์์ฒญ ์ ์ก
- ์๋ฒ ์๋ต
- ๋ ๋๋ง ํ์ดํ๋ผ์ธ ์คํ
- ์น ํ์ด์ง ํ์
โจ ๋ง๋ฌด๋ฆฌ
์ด์ฒ๋ผ ์ฐ๋ฆฌ๊ฐ ์ฃผ์์ฐฝ์ URL์ ์
๋ ฅํ๋ ๊ฐ๋จํ ๋์ ํ๋์๋
๋ธ๋ผ์ฐ์ ์ ๋คํธ์ํฌ, ์๋ฒ, ๋ ๋๋ง ๋ฑ ๋ค์ํ ๊ธฐ์ ์ด ๋ณตํฉ์ ์ผ๋ก ์๋ํ๊ณ ์์ด์.
์ด ๊ณผ์ ์ ์ดํดํ๋ฉด, ๊ฐ๋ฐ ์ค ๋ฐ์ํ๋ ๋ค์ํ ๋ฌธ์ ๋ฅผ ๋ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค.