Section3 Unit6 [๋คํธ์ํฌ] ์ฌํ
๐ Chapter1. TCP/IP
• TCP (Transmission Control Protocol)
์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ์ง์ํ๋ ์ฐ๊ฒฐ ์งํฅํ ํ๋กํ ์ฝ.
TCP๋ ํต์ ์ ํ๊ธฐ ์ ์ ๋จผ์ ์๋ก์ ์ปดํจํฐ์ ์ฐ๊ฒฐ์ ์ค์ ํ์ฌ ์ ์ก ๊ณผ์ ์์ ํจํท์ ์์ค์ ๊ฒ์ฌํ๊ณ ์์๊ฐ ๋ฐ๋์ง ์๋๋ก ๋ณด์ฅํ๋ค.
→ ์์ ์ฑ์ด ๋์ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํด์ค๋ค. ์ฃผ๋ก ํ์ผ์ด๋ ์ด๋ฉ์ผ์ ์ ์กํ๋ ๋ฑ ์ ๋ขฐ์ฑ์ด ์ค์ํ ํต์ ์์ ์์ฃผ ์ฌ์ฉ๋๋ค.
• UDP (User Datagram Protocol)
์ ํธ ์ ์ฐจ ์์ด ์ผ๋ฐฉ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋น์ฐ๊ฒฐํ ํ๋กํ ์ฝ.
๋ฐ์ดํฐ์ ์ ๋ขฐ์ฑ์ ๋ฎ์ง๋ง ์๋๊ฐ ๋น ๋ฆ. (์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ๋ฑ์์ ๋ง์ด ์ฌ์ฉ๋๊ณ , ์ต๊ทผ http3 ๋ฒ์ ์ด ๋์ค๋ฉด์ ๊ธฐ์กด์ TCP ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ด UDP ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ผ๋ก ๋ฐ๋์๋ค. )
๐ Chapter2. ๋คํธ์ํฌ ๊ณ์ธต ๋ชจ๋ธ
๐ Chapter3. HTTP
• HTTP๋ ๋ฌด์ํ(Stateless), ๋น์ฐ๊ฒฐ์ฑ(Connectionless) ์ ํน์ง์ ๊ฐ์ง๋ค.
๋ฌด์ํ(Stateless)
• ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์์
• ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉฐ, ์๋ฒ๋ ์์ฒญ์ ๋ํ ์๋ต๋ง ์ ์กํจ
• ์๋ฒ์ ๋ถ๋ด์ ์ค์ฌ์ ํ์ฅ์ฑ์ ๋์ผ ์ ์์
๋น์ฐ๊ฒฐ์ฑ(Connectionless)
• ํด๋ผ์ด์ธํธ์ ์์ฒญ๊ณผ ์๋ฒ์ ์๋ต ์ฌ์ด์ ์ฐ๊ฒฐ์ ์ ์งํ์ง ์์
→ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ๋ณด๋ผ ๋๋ง๋ค ์๋ก์ด ์ฐ๊ฒฐ์ ํด์ผํ๋ค.
→ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋ฒ๋ ์๋ต์ ๋ณด๋ด์ค ํ ๋ฐ๋ก ์ฐ๊ฒฐ์ ๋๋๋ค.
• ์๋ฒ๋ ๋ถํ์ํ ์ฐ๊ฒฐ์ ์ค์ด๊ณ , ๋ง์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋์์ ์ฒ๋ฆฌํ ์ ์์
๐ Chapter4. HTTPS
• ๊ธฐ์กด HTTP ํ๋กํ ์ฝ์์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ณ ์ธ์ฆํ๋ ๊ณผ์ ์ ์ถ๊ฐํ์ฌ ๋ณด์์ ๊ฐํํ ํ๋กํ ์ฝ.
HTTP ํ๋กํ ์ฝ์ ํฌํธ ๋ฒํธ 80์ ์ฌ์ฉํ์ง๋ง, HTTPS๋ 433๋ฒ์ ์ฌ์ฉํ๋ค.
๐ฌ ๋คํธ์ํฌ ๋ถ๋ถ์ ๋์ค์ ๋ฐ๋ก ๋ ๊ณต๋ถ๋ฅผ ํด์ผํ ๊ฒ ๊ฐ์์ ์ ์ดํด๋์ค ํ์ต์๋ฃ๋ก ๊ณต๋ถํ ๋ด์ฉ ์ค ์ค์ํ๋ค๊ณ ์๊ฐ๋๋ ๋ถ๋ถ๋ค์ ์์ฃผ๋ก ๊ฐ๋ตํ๊ฒ๋ง ์ ๋ฆฌํ๋ค. ๋ด์ฉ์ด ๊ต์ฅํ ๋ง์์ ์ค์ํ ๋ถ๋ถ๋ค์ด ๋ ์๊ฒ ์ง๋ง, ๋๋จธ์ง ๋ถ๋ถ๋ค์ ์ฐจ๊ทผ์ฐจ๊ทผ ๋ค์ ๊ณต๋ถํด๋ด์ผ๊ฒ ๋ค.
โ๏ธ ์ค์ต. HTTPS ์ฌ์ค ์ธ์ฆ์ ๋ฐ๊ธ ๋ฐ ์๋ฒ ๊ตฌํ
↓ ์ด๋ฒ ์ค์ต์ ํ๋ฉด์ ํค๋งธ๋ ๋ถ๋ถ์ด ์๊ธฐ๋ ํ๊ณ , ๋ค์๋ฒ์ ๋ mkcert๋ฅผ ์ฌ์ฉํ ์ผ์ด ์์ ๊ฒ ๊ฐ๊ธฐ๋ ํด์ ๋ฐ๋ก ์ ๋ฆฌํด๋ณด์๋ค. ↓
โ๏ธ Advanced. ngrok๋ก ํฐ๋๋ง ์ํค๊ธฐ
์ค์ต Advanced๋ก ๊ธฐ์กด์ ์์ฑํ ์๋ฒ๋ฅผ ngrok์ ์ด์ฉํด์ HTTPS๋ก ํฐ๋๋ง์ ์์ผ๋ณด๋ผ๋ ๊ณผ์ ๋ ์์๋ค.
๊ฐ๋จํด์ ์ด๋ ต์ง ์๊ฒ ์งํํ ์ ์์ด์ ๊ฐ๋จํ๊ฒ ์ฌ์ฉ๋ฒ๋ง ๊ธฐ๋กํด๋ณผ๊น ํ๋ค.
ngrok๋ HTTP๋ก ๋ง๋ค์ด์ง ์๋ฒ๋ฅผ HTTPS ํ๋กํ ์ฝ๋ก ํฐ๋๋ง ํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
๐ ํฐ๋๋ง์ด๋? ๋คํธ์ํน์์ ํฐ๋์ ํด๋น ๋คํธ์ํฌ์์ ์ง์ํ์ง ์๋ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋ฐฉ๋ฒ์ด๋ค.
→ ์ฝ๊ฒ ๋งํด์, ngrok๋ฅผ ํตํด ํฐ๋๋ง์ ํ๋ฉด ์ธ๋ถ์์ ๋ก์ปฌ์ ์ ์ํ ์ ์๊ฒ ๋์์ค๋ค.
ngrok ํํ์ด์ง์ Download ๋ฉ๋ด๋ก ๊ฐ์ ๊ฐ์ด๋๋๋ก ๋ฐ๋ผํ๋ฉด ๋๋ค. (์ธ์ฆ ํ ํฐ์ ๋ฐ์์ผ ํด์ ๋ก๊ทธ์ธ ํ์)
MacOS ๊ธฐ์ค
# 1. Install ngrok via Homebrew
brew install ngrok/ngrok/ngrok
# 2. Add authtoken
ngrok config add-authtoken <token>
# 3. Start a tunnel
ngrok http <url>
โฌ๏ธ
์ด๋ ๊ฒ๋ง ํ๋ฉด ๋ฐ๋ก ํฐ๋๋ง์ด ๋๊ณ , Forwarding url ์ ๋ ฅํ๋ฉด ์ ์ํ ์ ์๋ค.
์คํ ํ control C๋ก ์ข ๋ฃํ ์ ์๊ณ , ์ข ๋ฃ๋ ํ์๋ ๋น์ฐํ ํฐ๋๋ง ๋ ์ฃผ์๋ก๋ ์ ์ํ ์ ์๋ค.
๐ ์ค๋์ ํ๊ณ
๋น๋ ๋๋ฌด ๋ง์ด ์ค๊ณ , ์ง ์์ ์ตํ๊ณ ๊ฐ๊ฐํ ๋ ์ด์๋ค. ์ง์ค์ด ์๋์ ๋ฐ์ ๋๊ฐ์ ๊ณต๋ถ๋ฅผ ํ๋ค. ์ด๋ฒ ์ ๋์ธ ๋คํธ์ํฌ ์ฌํ ๊ณผ์ ์ด ์ดํ ์ ๋๋ ์๋ ์ค ์์๋๋ฐ, ์ค๋ ํ๋ฃจ๊ฐ ๋์ธ๊ฑธ ์๊ณ ์ง๋ ๋๊ฐ๊ธฐ์ ๋ฐ๋นด๋ ๊ฒ ๊ฐ๋ค. ํ์ด ์๊ฐ๋ ์์๊ณ , ์ด๋ก ์์ ๋ฟ์ด์๋ค. ์๊ทธ๋๋ ์ด๋ ค์ด ๋คํธ์ํฌ์ HTTP๋ผ ์ดํด๋ ์ ์๋๊ณ , ์ด๋ค ๋ถ๋ถ์ด ์ค์ํ๊ฑด์ง๋ ํ์ ์ด ์ ๋์ง ์์๋ค.
์ฌ์ง์ด ๋ก์ปฌ์์ HTTPS๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ mkcert ์ค์ต์ ์ ๋๋ก ๋์ง๋ ์์๋ค. ์ค์น๋ ์ ๋๋ก ํ๊ณ , ํ์ผ ์์น๋ ํ์ธํ๊ณ , ์๋ฒ ์ฝ๋๋ ๋ฌธ์ ์๋ ๊ฒ ๊ฐ์๋ฐ ๋ฌด์์ด ๋ฌธ์ ์ธ๊ฑฐ์ง..?
์คํ Q&A ์ธ์ ์ ์ง๋ฌธ ์ค์ ์ด ์ค์ต ๋ถ๋ถ์ ๊ฐ์ด ํด๋ฌ๋ผ๋ ์์ฒญ์ด ์์๋๋ฐ, ๊ฐ์ฌ๋์ ๋ฑํ.. ํด๋ณด์ค ์๊ฐ์ ์๋๊ฒ ๊ฐ์๋ค..ใ ใ ๊ทธ๋ฅ ๋๊ฒจ๋ฒ๋ฆฌ์ ์.. ๋ด์ผ ์ค์ ์์ ์๊ฐ์ ํ๋ฒ ํด๋ณธ๋ค๊ณ ํ๋ ๋ฌด์์ด ๋ฌธ์ ์ธ์ง ๊ทธ๋ ํ์ ํ๋ฉด ๋ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ฐ, ์ง๊ธ ๋น์ฅ ๋ฌธ์ ๋ฅผ ์๊ณ ์ถ๋ค…
…์ด ๊ธ์ ์ฐ๊ณ 30๋ถ์ฏค ํ์ ์๊ฒ๋์๋ค…
๋ฌธ์ ๊ฐ ๋ญ์ง ๋๋ฌด ๊ถ๊ธํด์ ๊ณ์ ์ฐพ์ํค๋งค๊ณ ์์๋๋ฐ Chrome ๋ธ๋ผ์ฐ์ ๊ณ ๊ฐ์ผํฐ์ ์ฐ๊ฒฐ ์ค๋ฅ์ ํด๊ฒฐ๋ฐฉ๋ฒ ์ค ์ด์์ฒด์ ์ ๋ฐ์ดํธ ํ๊ธฐ๊ฐ ์์๋ค. ํน์๋ ํ๊ณ ๋ด ๋งฅ๋ถ ์ ๋ฐ์ดํธ๋ฅผ ์ฒดํฌํด๋ณด๋ ์ ๋ฐ์ดํธ ํ ๊ฒ ์๊ธธ๋ ์ ๋ฐ์ดํธ๋ฅผ ํ๊ณ ๋์ ๋ค์ ์คํํด๋ณด๋๊น ๋ฐ๋ก ๋์๋ค๋ ์ฌ์ค…… ํด.. ๐