1๏ธโฃ ํด๋ผ์ด์ธํธ ์๋ฒ ๊ตฌ์กฐ
2๏ธโฃ ๋ฌด์ํ ํ๋กํ ์ฝ(Stateless) & ๋น์ฐ๊ฒฐ์ฑ
3๏ธโฃ HTTP ๋ฉ์์ง
4๏ธโฃ ๋จ์ํจ, ํ์ฅ๊ฐ๋ฅ
HTTP๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ํ๋กํ ์ฝ๋ก, ์ ๋ขฐ ๊ฐ๋ฅํ ์ ์ก ํ๋กํ ์ฝ์ด๋ผ๋ฉด ๋ฌด์์ด๋ ์ฌ์ฉํ ์ ์์ผ๋ TCP ํน์ ์ํธํ๋ TCP ์ฐ๊ฒฐ์ธ TLS๋ฅผ ํตํด ์ ์ก๋๋ค. ์ด๋ฐ HTTP์ ํ์ฅ์ฑ ๋๋ถ์, ์ค๋๋ ํ์ดํผํ ์คํธ ๋ฌธ์ ๋ฟ๋ง ์๋๋ผ ์ด๋ฏธ์ง์ ๋น๋์ค ํน์ HTML ํผ ๊ฒฐ๊ณผ์ ๊ฐ์ ๋ด์ฉ์ ์๋ฒ๋ก ํฌ์คํธ(POST)ํ๊ธฐ ์ํด์๋ ์ฌ์ฉ๋๊ณ ํ์ํ ๋๋ง๋ค ์น ํ์ด์ง๋ฅผ ๊ฐฑ์ ํ๊ธฐ ์ํด ๋ฌธ์์ ์ผ๋ถ๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ ์ฌ์ฉ๋ ์๋ ์๋ค.
HTTP๋ ์น์์ ์ด๋ฃจ์ด์ง๋ ๋ชจ๋ ๋ฐ์ดํฐ ๊ตํ์ ๊ธฐ์ด์ด๋ฉฐ, ํด๋ผ์ด์ธํธ-์๋ฒ ํ๋กํ ์ฝ์ด๋ค.
ํด๋ผ์ด์ธํธ-์๋ฒ ํ๋กํ ์ฝ์ด๋ ์์ ์ ์ธก(๋ณดํต ์น๋ธ๋ผ์ฐ์ ์ธ)์ ์ํด ์์ฒญ์ด ์ด๊ธฐํ๋๋ ํ๋กํ ์ฝ์ ์๋ฏธํ๋ค.
ํ๋์ ์์ ํ ๋ฌธ์๋ ํ
์คํธ, ๋ ์ด์์ ์ค๋ช
, ์ด๋ฏธ์ง, ๋น๋์ค, ์คํฌ๋ฆฝํธ ๋ฑ ๋ถ๋ฌ์จ(fetched) ํ์ ๋ฌธ์๋ค๋ก ์ฌ๊ตฌ์ฑ๋๋ค.
์์ ์๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ผ๋ ๊ฐ๋
์ด ๋ถ๋ฆฌ๋์ด์์ง ์๊ณ ํ ๋ญํฐ๊ธฐ๋ก ์กด์ฌํ์ง๋ง
ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ๋ฅผ ํตํด ๊ฐ๋
์ ๋ถ๋ฆฌ์์ผฐ๋ค.
โ๏ธ ์๋ฒ : ๋น์ฆ๋์ค ๋ก์ง, ๋ฐ์ดํฐ ๋ฑ
โ๏ธ ํด๋ผ์ด์ธํธ : UI, ์ฌ์ฉ์ฑ ๋ฑ
ํด๋ผ์ด์ธํธ๋ ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์ด๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ํ์ ์์ด UI์ ์ฌ์ฉ์ฑ์๋ง ์ง์คํ๋ฉด๋๊ณ
์๋ฒ๋ ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ฐ์ดํฐ, ์๋ฒ์ ์ํคํ
์ฒ๋ ๋ฐฑ์ํธ ํธ๋ํฝ ๋ฑ์ ๋ํด์๋ง ์ง์คํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ ๋
๋ฆฝ์ ์ธ ์งํ๊ฐ ๊ฐ๋ฅํด์ง๋ค.
HTTP๋ ํด๋ผ์ด์ธํธ๊ฐ HTTP ๋ฉ์์ง๋ฅผ ํตํด ์๋ฒ์ ์์ฒญ์ ๋ณด๋ธ๋ค.
์๋ฒ๊ฐ ์์ฒญ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด์ ์๋ต์ด ์ค๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์๋ต ๊ฒฐ๊ณผ๋ฅผ ์ด์ด์ ๋์์ ํ๊ฒ๋๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ค์ (๋ฐ์ดํฐ ์คํธ๋ฆผ๊ณผ ๋์กฐ์ ์ผ๋ก) ๊ฐ๋ณ์ ์ธ ๋ฉ์์ง ๊ตํ์ ์ํด ํต์ ํ๋ค.
๋ณดํต ๋ธ๋ผ์ฐ์ ์ธ ํด๋ผ์ด์ธํธ์ ์ํด ์ ์ก๋๋ ๋ฉ์์ง๋ฅผ ์์ฒญ(requests)์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ,
๊ทธ์ ๋ํด ์๋ฒ์์ ์๋ต์ผ๋ก ์ ์ก๋๋ ๋ฉ์์ง๋ฅผ ์๋ต(responses)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ด ์์ฒญ๊ณผ ์๋ต ์ฌ์ด์๋ ์ฌ๋ฌ ๊ฐ์ฒด๋ค์ด ์๋๋ฐ, ์๋ฅผ ๋ค๋ฉด ๋ค์ํ ์์
์ ์ํํ๋ ๊ฒ์ดํธ์จ์ด, ์บ์ ์ญํ ์ ํ๋ ํ๋ก์ ๋ฑ์ด ์๋ค.
๐ท REQUEST RESPONSE ๊ตฌ์กฐ
๐ท ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต์ ๋๊ธฐ
๐ท ์๋ฒ๊ฐ ์์ฒญ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด์ ์๋ต
HTTP๋ ๋ฌด์ํ ํ๋กํ ์ฝ์ ์ง์ํ๋ค.
๋ฌด์ํ ํ๋กํ ์ฝ์ด๋?
๊ฐ๋จํ๊ฒ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์๋๋ค.
โ ์ฅ์ : ์๋ฒ ํ์ฅ์ฑ์ด ๋์
โ ๋จ์ : ํด๋ผ์ด์ธํธ๊ฐ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ผํจ
โ ์ํ์ ์ง(Stateful)
ํญ์ ๊ฐ์ ์๋ฒ๊ฐ ์ ์ง๋์ด์ผํ๋ค.
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ด์ ์ํ๋ฅผ ๋ณด์กดํ๊ธฐ ๋๋ฌธ์ ์ค๊ฐ์ ์๋ต ์๋ฒ๊ฐ ๋ฐ๋๋ฉด ์๋๋ค.
์ค๊ฐ์ ์๋ฒ๊ฐ ๋ฐ๋ ๋ ๋ง๋ค ์ํ์ ๋ณด๋ฅผ ๋ค๋ฅธ ์๋ฒ์๊ฒ ๋ฏธ๋ฆฌ ์๋ ค์ค์ผํ๋ค.
โ ๋ฌด์ํ(Stateless)
์ค๊ฐ์ ๋ค๋ฅธ ์๋ฒ๋ก ๋ฐ๋์ด๋ ๋๋ค.
๊ฐ์๊ธฐ ํด๋ผ์ด์ธํธ ์์ฒญ์ด ์ฆ๊ฐํด๋ ์๋ฒ๋ฅผ ๋๊ฑฐ ํฌ์
ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฌด์ํ๋ ์๋ต ์๋ฒ๋ฅผ ์ฝ๊ฒ ๋ฐ๊ฟ ์ ์๋ค.
โ ๋ฌดํํ ์๋ฒ ์ฆ์ค ๊ฐ๋ฅ
๋ชจ๋ ๊ฒ์ ๋ฌด์ํ๋ก ์ค๊ณ ํ ์ ์๋ ๊ฒฝ์ฐ๋, ์๋ ๊ฒฝ์ฐ๋ ์๋ค.
โ๏ธ ๋ฌด์ํ(Stateless)
ex) ๋ก๊ทธ์ธ์ด ํ์์๋ ๋จ์ํ ์๋น์ค ์๊ฐํ๋ฉด
๋ฌด์ํ์ ๋ ๋ค๋ฅธ ๋จ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋๋ฌด ๋ง์ด ์ฌ์ฉํ๋ค๋ ๊ฒ์ด์ง๋ง ์ต๋ํ ๋ฌด์ํ๋ฅผ ์ด์ฉํ๋๋ก ํ๋ค.
โ๏ธ ์ํ์ ์ง(Stateful)
ex) ๋ก๊ทธ์ธ
๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๊ฒฝ์ฐ ๋ก๊ทธ์ธ ํ๋ค๋ ์ํ๋ฅผ ์๋ฒ์ ์ ์งํด์ผํ๋๋ฐ
์ผ๋ฐ์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ์ฟ ํค์ ์๋ฒ ์ธ์
๋ฑ์ ์ฌ์ฉํด์ ์ํ๋ฅผ ์ ์งํ๋ค.
์ํ ์ ์ง๋ ์ต์ํ๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
โ๏ธ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ ์ ์งํ๋ ๋ชจ๋ธ
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋ต์ ๋ฐ๊ณ ๋ ํ์๋ ๊ณ์ ์๋ฒ์ ์ ์๋ ์ํ๋ก ๋จ์์๊ฒ ๋๋ค.
์ด๋ ๊ฒ ์๋ฒ์ ์ ์ํ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ง์์ง์๋ก ์ฐ๊ฒฐ์ ์ ์งํ๋ ์๋ฒ์ ์์์ด ๊ณ์ํด์ ์๋ชจ๋๊ฒ ๋๋ค.
โ๏ธ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๋ ๋ชจ๋ธ
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ฐ๊ฒ๋๋ฉด ๋ฐ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ์ฐ๊ฒฐ์ ๋์ด๋ฒ๋ฆฐ๋ค.
๋ฐ๋ผ์ ์๋ฒ๋ ์ต์ํ์ ์์๋ง์ ์ฌ์ฉํ๊ฒ ๋๋ค.
HTTP๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ ์ ์งํ์ง ์๋ ๋ชจ๋ธ์ด๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด ๋จ์ ์ดํ์ ๋น ๋ฅธ ์๋๋ก ์๋ต์ด ๊ฐ๋ฅํ๋ฉฐ
1์๊ฐ ๋์ ์์ฒ๋ช
์ด ์๋น์ค๋ฅผ ์ฌ์ฉํด๋ ์ค์ ์๋ฒ์์ ๋์ ์ฒ๋ฆฌํ๋ ์์ฒญ์ ์์ญ๊ฐ ์ดํ๋ก ๋งค์ฐ ์๋ค.
์) ์์ฒ๋ช
์ด ์น ๋ธ๋ผ์ฐ์ ์์ ๊ณ์ ์ฐ์ํด์ ๊ฒ์ ๋ฒํผ์ ๋๋ฅด์ง๋ ์๊ธฐ ๋๋ฌธ
๋ฐ๋ผ์ ์๋ฒ ์์์ ๋งค์ฐ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
๐ท TCP/IP ์ฐ๊ฒฐ์ ์๋ก ๋งบ์ด์ผํจ ex) 3 way handshake ์๊ฐ ์ถ๊ฐ
๐ท ์น ๋ธ๋ผ์ฐ์ ๋ก ์ฌ์ดํธ๋ฅผ ์์ฒญํ๋ฉด HTML ๋ฟ๋ง ์๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ, css, ์ถ๊ฐ ์ด๋ฏธ์ง ๋ฑ ์ ๋ง์ ์์์ด ํจ๊ป ๋ค์ด๋ก๋ ๋๋ค.
๐ท ์ง๊ธ์ HTTP์ ์ง์ ์ฐ๊ฒฐ(Persistent Connection)์ผ๋ก ๋ฌธ์ ํด๊ฒฐ
๐ท HTTP 2 & 3์์ ๋ ๋ง์ ์ต์ ํ๊ฐ ์ด๋ฃจ์ด์ก๋ค.
๐ 3 way handshake ๋ ์์๋ณด๊ธฐ
ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ์ฐ๊ฒฐ, ์ข
๋ฃ์ ์๊ฐ ๋ญ๋น
HTTP ์ง์์ฐ๊ฒฐ์ ์ฌ๋งํ ๋ฆฌ์์ค๋ค์ ๋ค ๋ค์ด ๋ฐ๊ธฐ ์ ๊น์ง ์ฐ๊ฒฐ์ ์ ์งํ๊ณ
๋ค์ด๋ก๋๊ฐ ๋๋ ํ ์ฐ๊ฒฐ์ ์ข
๋ฃํ๋ค.
๐ท 1๋ถ 1์ด์ ์ค์ฐจ๋ ํ์ฉ๋์ง ์๋ ๊ฐ์ ์๊ฐ์ ๋ฑ ๋ง์ถ์ด ๋ฐ์ํ๋ ๋์ฉ๋ ํธ๋ํฝ์ด ํ์ํ ๊ฒฝ์ฐ
ex) ์ ์ฐฉ์ ์ด๋ฒคํธ, ๋ช
์ KTX ์์ฝ, ํ๊ณผ ์์
๋ฑ๋ก, ์์ด๋ ์ฝ์ํธ ํฐ์ผํ
๐ท ์๋ง๋ช
์ ๋์ ์์ฒญ์ ์๊ตฌํ๋ ์ด๋ฒคํธ๋ฅผ ์ค๊ณํ ๋ stateless ์ค๊ณ ๋ฐฉ์์ ์ด์ฉํ๊ฒ ๋๋ค.
HTTP ์์ฒญ ๋ฉ์์ง์ ์)
HTTP ์๋ต ๋ฉ์์ง์ ์)
๐ HTTP ๋ฉ์์ง ๋ ์์๋ณด๊ธฐ
โ HTTP๋ ๋จ์ํ๋ค.
โ HTTP๋ฉ์์ง๋ ๋งค์ฐ ๋จ์ํ๋ค.
โ ํ์ฅ ๊ฐ๋ฅํ ๊ธฐ์ ์ด๋ค.
์ถ์ฒ:
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC#