(1) HTTP๋?
Hypertext Transfer Protocol์ ํ ์คํธ ๊ธฐ๋ฐ์ ํต์ ๊ท์ฝ์ผ๋ก, ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ์ด๋ค.
TCP/IP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ฉฐ, 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค. Hypertext, ์ฆ ๋งํฌ๊ฐ ํฌํจ๋ ๋ฌธ์ ๋ง๊ณ ๋ ํ ์คํธ, ์ด๋ฏธ์ง, ์์, JSON ๋ฑ ๊ฑฐ์ ๋ชจ๋ ํํ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค. ๊ฐ์ฅ ํฐ ํน์ง์ผ๋ก๋ ๋น์ฐ๊ฒฐ์ฑ(Connectionless)๊ณผ ๋ฌด์ํ์ฑ(Stateless)์ด ์๋ค.
(2) ๋ฌด์ํ(Stateless)
HTTP๋ ์ํ๋ฅผ ์ ์งํ์ง ์๋ statelessํ ํ๋กํ ์ฝ๋ก, ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ์ ์ฅํ์ง ์๋๋ค. ์ด ๋ง์ธ ์ฆ์จ, ์ด์ ์ ๋ณด๋๋ request๋ ์ด์ ์ ์๋ตํ response์ ๋ํด ์ ํ ๊ธฐ์ตํ์ง ์์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ์ ์ด์ ์์ฒญ์ ๋ฐ๋ผ ์๋ต์ด ๋ฌ๋ผ์ง์ง ์๋๋ค๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ stateless๋ฅผ ์ ์งํ๋ ์ด์ ๋, ์๋ฒ์ ํ์ฅ์ฑ(Scalability) ๋๋ฌธ์ด๋ค. ๋๊ท๋ชจ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ค๋ฉด ์๋ฒ๊ฐ ์ฌ๋ฌ ๋ ์์ด์ผ ํ๊ณ , ์๋ฒ ๊ฐ ๊ณต์ ํด์ผ ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ง์์ง์๋ก ๊ด๋ฆฌ ๋น์ฉ์ด ๋น์ธ์ง๋ค.
๋ง์ฝ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์ํ์์, ํด๋ผ์ด์ธํธ๋ก๋ถํฐ 2๊ฐ ์ฃผ๋ฌธ ์์ฒญ์ ๋ฐ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. 100๋ฒ ์๋ฒ๋ ์ด์ ์ ์ด๋ค ์ํ์ ๋ํ ์ ๋ณด๋ฅผ ์์ฒญํ๋์ง ๋๋จธ์ง 99๊ฐ์ ์๋ฒ์ ๋ฌผ์ด๋ด์ผ ํ๊ณ , ์ด๋ ๋ง์ ๋น์ฉ์ ์ด๋ํ๋ค. ๋๋ฌธ์ HTTP๋ stateless๋ฅผ ํตํด ์๋ฒ ๊ฐ์ ์ ๋ณด ๊ณต์ ์ ๊ทธ์ ๋ฐ๋ฅธ ๋น์ฉ์ ์ต์ํํ๋ค.
๊ทธ๋ ๋ค๋ฉด ํด๋ผ์ด์ธํธ์ ์ํ๋ ์ด๋์ ์ ์ฅ๋๋ ๊ฑธ๊น? ๋ฐ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์ ์ฅํ๋ค. HTTP์ ํด๋ผ์ด์ธํธ๋ ์ด์ ์ ์์ ์ด ์์ฒญํ ์ ๋ณด๋ฅผ ์ ์ฅํด๋์๋ค๊ฐ, ์์ฒญ์ ๋ณด๋ผ ๋ ํด๋น ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ค. ์๋ฒ๊ฐ ๋ง์์ง๋ ๋ง๋ ์๋ฒ๋ ์์ ์๊ฒ ์จ ์์ฒญ๋ง ์ฒ๋ฆฌํ๋ฉด ๋๋ค. ๊ฐ ์๋ฒ๊ฐ ๋ฉ์ธ์ง๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๋๋ฉด, ์๋ฒ์ ๊ฐ์์ ๋น๋กํด์ ์ฑ๋ฅ์ด ์ฆ๊ฐํ๋ค.
(3) ๋น์ฐ๊ฒฐ์ฑ (Connectionless)
๋น์ฐ๊ฒฐ์ฑ์ด๋, ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก๋ถํฐ ์๋ต์ ๋ฐ๊ณ TCP ์ฐ๊ฒฐ์ ๋ฐ๋ก ๋์ด๋ฒ๋ฆฌ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ํตํด ์๋ฒ์ ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ์๋ฒ๋ ์๋ง์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋์ํ ์ ์๊ฒ ๋๋ค.
HTTP๋ ์ฒ์์๋ ์ฐ๊ฒฐ์ ์ ์งํ์ง ์์๋ค. ํ์ง๋ง ๋งค๋ฒ ์ฐ๊ฒฐ์ด ๋์ด์ง๋ฉด, ์๋ก ์ฐ๊ฒฐํ ๋๋ง๋ค TCP ์ฐ๊ฒฐ์ ์ค์ ํด์ผํ๋ฏ๋ก 3-way handshake๋ฅผ ์ค์ ํ๋ ์๊ฐ์ด ์ถ๊ฐ๋๋ค. ์ด์ฐฝ๊ธฐ์๋ HTTP๋ก ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋ฆฌ ๋ง์ง ์์์ง๋ง, ํ์ฌ๋ HTML, JS, CSS, ์ด๋ฏธ์ง ๋ฑ ์๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ๋๋ฌธ์ ๋น์ฐ๊ฒฐ์ด ์คํ๋ ค ๋นํจ์จ์ ์ด ๋์๋ค.
(4) HTTP Persistent Connection
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ํ๋ ๊ฒ์ด ๋ฐ๋ก HTTP Persistent Connection์ด๋ค.
HTTP Persistent Connection์ ์ฌ์ฉํ๋ฉด ์๋ฒ์ ์๋ต์ ๋ฐ์ ๋ค์๋ ์ผ์ ์๊ฐ๋์ ์ฐ๊ฒฐ์ ์ ์งํ๊ฑฐ๋, ์ฌ๋ฌ๊ฐ์ ์์ฒญ์ ๋ํ ์๋ต์ด ๋ค ์ฌ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๋ค. ํด๋น ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด, TCP ์ฐ๊ฒฐ ์์ฒญ์ผ๋ก ์ธํ ๋คํธ์ํฌ ํผ์ก๊ณผ ์๊ฐ ์ง์ฐ์ ์ค์ผ ์ ์๋ค.
ํ์ง๋ง ํด๋ผ์ด์ธํธ์์ TCP ์ฐ๊ฒฐ์ด ๋์ด๋๋ฉด, ์๋ฒ์ ์์์ด ๋ถ์กฑํด์ง๋ค๋ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋ค. ๋ฐ๋ผ์ ํด๋ผ์ด์ธํธ์ ์ ์์ด ์ฆ์ URL์์๋ Persistent Connection ์ค์ ์ ์ฃผ์ํด์ผ ํ๋ค.
'๐๐ > ๐๐๐ญ๐ฐ๐จ๐ซ๐ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฃผ์์ฐฝ์ www.naver.com์ ์ ๋ ฅํ๋ฉด ๋ฌด์จ ์ผ์ด ์ผ์ด๋ ๊น? (1) | 2023.10.19 |
---|