HTTP์ ์งํ
์๋ ์์ด๋ ์น์ ๋ฐ๋ช
1990๋ ์ ํ ๋ฒ๋์ค ๋ฆฌ์ ์ํด ๋ง๋ค์ด์ก๋ค. TCP/IP ํ๋กํ ์ฝ ์์์ ๋ง๋ค์ด์ง ์๋ ์์ด๋ ์น์ HTML, HTTP, ์๋ ์์ด๋ ์น์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ธ๋ผ์ฐ์ , ๋ฌธ์์ ์ ๊ทผํ๊ฒ ํด์ฃผ๋ httpd์ ์ด๊ธฐ ๋ฒ์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
HTTP/0.9: ์-๋ผ์ธ ํ๋กํ ์ฝ
HTTP ์ด๊ธฐ ๋ฒ์ ์ ๋งค์ฐ ๋จ์ํ๋ค. GET์ด ์ ์ผํ ๋ฉ์๋์๊ณ , ์์ฒญ์ ๋จ์ผ ๋ผ์ธ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์๋ค. ์๋ต์ ์ค๋ก์ง ํ์ผ ๋ด์ฉ์ผ๋ก ๊ตฌ์ฑ๋์๋ค. HTML ๋ฌธ์๋ง์ด ์ ์ก ๊ฐ๋ฅํ๋ค(HTTP ํค๋ ์์)
1
GET /mypage.html
1
2
3
<HTML>
A very simple HTML page
</HTML>
HTTP/1.0
- ์์ฒญ ์ ๋ฒ์ ์ ๋ณด ๊ธฐ์ฌ
- ์๋ต ์ ์ํ ์ฝ๋ ๊ธฐ์ฌ: ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฒญํ ๊ฒฐ๊ณผ์ ๋ํ ๋์ฒํ ์ ์๊ฒ ๋จ
- HTTP ํค๋ ๋์
- ๋ฉํ๋ฐ์ดํฐ ์ ์ก ํ์ฉ
- ํ๋กํ ์ฝ์ ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๊ฒ ๋ง๋ฆ
Content-Type
ํค๋: HTML ์ธ ๋ค๋ฅธ ๋ฌธ์ ์ ์ก ๊ฐ๋ฅ
HTTP/1.1: ํ์ค ํ๋กํ ์ฝ
- ์ปค๋ฅ์
์ฌ์ฌ์ฉ ๊ฐ๋ฅ
- ํ์๋ ๋จ์ผ ์๋ณธ ๋ฌธ์์ ์๋ฒ ๋๋๋ ๋ฆฌ์์ค๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์ฌ์ฉ๋ ์ปค๋ฅ์ ์ ์ฌ์ฌ์ฉํ์ฌ ์๊ฐ ์ ์ฝ
- ํ์ดํ๋ผ์ด๋ ์ถ๊ฐ
- ์ฒซ๋ฒ์งธ ์์ฒญ์ ๋ํ ์๋ต์ด ์์ ํ ์ ์ก๋๊ธฐ ์ ์ ๋๋ฒ์ฌ ์์ฒญ ์ ์ก์ ๊ฐ๋ฅํ๊ฒ ํจ
- ์ฒญํฌ๋ ์๋ต ์ง์
- ์บ์ ์ ์ด ๋ฉ์ปค๋์ฆ ๋์
- ์ปจํ
์ธ ํ์ ๋์
(์ธ์ด, ์ธ์ฝ๋ฉ, ํ์
ํฌํจ)
- ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๊ตํํ๋ ค๋ ์ ํฉํ ์ปจํ ์ธ ๋ฅผ ๋์ํ ์ ์๊ฒ ํจ
Host
ํค๋: ๋์ผ IP ์ฃผ์์ ๋ค๋ฅธ ๋๋ฉ์ธ์ ํธ์คํธ ํ๋ ๊ธฐ๋ฅ์ด ์๋ฒ colocation ๊ฐ๋ฅํ๊ฒ ํจ
HTTP/1.1 ์ดํ ํ์ฅ
15๋ ๋์ ํ์ฅ์ ๊ฑฐ๋ญํด์๋ค.
๋ณด์ ์ ์ก์ ์ํ HTTP ์ฌ์ฉ
์ด์ ๊ธฐ๋ณธ์ ์ธ TCP/IP ์คํ์ ํตํด HTTP๋ฅผ ์ ์กํ๋ ๊ฒ์ ๋์ด ๊ทธ ํ ๋ ์์ ์ถ๊ฐ์ ์ธ๋ ์ ์ก ๊ณ์ธต์ธ SSL๊ฐ ์๋ฆฌ์ก๊ฒ ๋์๋ค. SSL 2.0๊ณผ 3.0, 3.1์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ ๊ตํ๋ ๋ฉ์์ง ์ธ์ฆ์ ์ํธํํ๊ณ ๋ณด์ฅํด์ e-commerce ์น ์ฌ์ดํธ์ ๋ฑ์ฅ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. SSL์ TLS๊ฐ ๋์๊ณ , 1.0, 1.1, 1.2 ๋ฒ์ ์ด ๋์ ์๋ค. ์ํธํ๋ ์ ์ก ๊ณ์ธต์ e-commerce ์ธ์ ์ํฉ์๋ ๋ฐ๋์ ํ์ํ๋ค. ๊ด๊ณ ์ฃผ, ๋ถํน์ ๊ฐ์ธ, ๋ฒ์ฃ์๊ฐ ๋ค๋ฅธ ์ฌ๋์ธ ์ฒ ๊ฐ์ฅํ๊ฑฐ๋ ์ ์ก๋ ๋ฐ์ดํฐ๋ฅผ ์์ ๋ ๋ฐ์ดํฐ๋ก ๋์น์ํค๋ ค๊ณ ๊ฐ์ธ ์ ๋ณด๋ฅผ ๋นผ๋ด๋ ค ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ HTTP ์ฌ์ฉ
์ด๊ธฐ HTTP๋ ์ฝ๊ธฐ ์ ์ฉ(GET)์ด์์ง๋ง, ํ ๋ฒ๋์ค ๋ฆฌ๋ ์ด๋ฅผ ๋์ด ๋ฌธ์๋ฅผ ์๊ฒฉ์ผ๋ก ์ถ๊ฐํ๊ฑฐ๋ ์ด๋์ํฌ ์ ์๋ ๋ถ์ฐ๋ ํ์ผ ์์คํ ์ ์ผ์ข ์ผ๋ก ์น์ ์์ํ๋ค. ๊ทธ๋ฌ๋ 2000๋ ์ด์ ๊น์ง ์น ์์ญ์์ ์ด๋ฌํ ์ฌ์ฉ์ ๋ถ๊ฐ๋ฅํ๋ค. 2000๋ ์ REST API๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ๊ฐฑ์ ์์ด ๋ฐ์ดํฐ ํ์๊ณผ ์์ ์ ํ์ฉํ๊ฒ ํ์๋ค. REST ๋ชจ๋ธ์ ํ์ค์ด ์๋ ๊ฒ ์๋๋ผ ๊ฐ๊ฐ์ ์น์ฌ์ดํธ๊ฐ ์์ ์ ๋นํ์ค RESTful API๋ฅผ ์ ์ํ๊ณ ๊ทธ์ ๋ํ ์ ๊ถ์ ๊ฐ์ง๋ค๋ ๊ฒ์ด๋ค. 2005๋ ๋ถํฐ ์น ํ์ด์ง์์ ์ฌ์ฉ ๊ฐ๋ฅํ API ์งํฉ๋ค์ด ๊ธ๊ฒฉํ ๋์ด๋๊ฒ ๋์๊ณ , ์๋ฒ ์ ์ก ์ด๋ฒคํธ, ์น ์์ผ ๊ฐ์ ๋ช๋ช์ ํน์ฑํ๋ HTTP ํค๋๋ก ํน์ ํ ๋ชฉ์ ์ ์ํด HTTP ํ๋กํ ์ฝ์ ํ์ฅ์ ๋ง๋ค์ด๋๋ค.
REST(Representational State Transfer)๋ ์๋ ์์ด๋ ์น๊ณผ ๊ฐ์ ๋ถ์ฐ ํ์ดํผ๋ฏธ๋์ด ์์คํ ์ ์ํ ์ํํธ์จ์ด ์ํคํ ์ด์ ํ ํ์์ด๋ค. ํด๋ผ์ด์ธํธ/์๋ฒ ๊ตฌ์กฐ, Stateless, Cachable, Layered System, Code on demand, ์ธํฐํ์ด์ค ์ผ๊ด์ฑ์ 6๊ฐ์ง ์ ํ ์กฐ๊ฑด์ด ์ ์ฉ๋๋ค.
์๋ฒ ์ ์ก ์ด๋ฒคํธ: ์๋ฒ๊ฐ ๋ธ๋ผ์ฐ์ ๋ก ์ด๋ฐ๊ธ์ฉ ๋ณด๋ด๋ ๋ฉ์์ง๋ฅผ ํธ์ฌํ ์ ์๋ ๊ณณ
์น ์์ผ: ๊ธฐ์กด HTTP ์ปค๋ฅ์ ์ ์ ๊ทธ๋ ์ด๋ํ์ฌ ๋ง๋ค ์ ์๋ ์๋ก์ด ํ๋กํ ์ฝ
์น์ ๋ณด์ ๋ชจ๋ธ ๊ฐํ
HTTP๋ ์น ๋ณด์ ๋ชจ๋ธ์ธ same-origin ์ ์ฑ ์์ ๋ ๋ฆฝ๋์ด ์๋ค. same-origin ์ ์ฑ ์ ์ ์ฝ์ฌํญ ์๋ ํ์ฉ๋๋ค. ์ ์ฝ์ฌํญ์ด ์ผ๋ง๋ ๊ทธ๋ฆฌ๊ณ ์ธ์ ๋ฆฌํํธ๋ ์ง๋ HTTP ํค๋๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ๋ก๋ถํฐ ํด๋ผ์ด์ธํธ์ ์ํด ์ ๋๋๋ค
HTTP/2: ๋ ๋์ ์ฑ๋ฅ์ ์ํ ํ๋กํ ์ฝ
HTTP/1.1์ ๋จ์
์น ํ์ด์ง๊ฐ ๋ณต์กํด์ง๋ฉด์ ๋์คํ๋ ์ด๋๋ ์๊ฐ ๋ฏธ๋์ด์ ์๊ณผ ํจ๊ป ์ํธ์์ฉ์ ์ถ๊ฐํ๊ธฐ ์ํ ์คํฌ๋ฆฝํธ๋ ๋ ์ปค์ก๋ค. ๋ฐ๋ผ์ ๋ ๋ง์ ๋ฐ์ดํฐ๋ค์ด ๋ ๋ง์ ์์ฒญ ๋๋จธ๋ก ์ ์ก๋๊ณ ์๋ค. ๊ทธ๊ทธ๋ฌ๋ HTTP/1.1 ์ปค๋ฅ์ ์์ ์์ฒญ์ ์์ฐจ์ ์ด์ด์ผ ํ๋ค. ๋ณ๋ ฌ ์ปค๋ฅ์ ์ด ์ด๋ก ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค ํ์ฌ๋ ์ฌ์ ํ ๋ง์ ์์ ์ค๋ฒํค๋์ ๋ณต์ก๋๋ผ๋ ๋ฌธ์ ๊ฐ ๋จ์ ์๋ค. ์ด์ Google์ SPDY ํ๋กํ ์ฝ์ ๊ตฌํํด ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ ๋์ฒดํ ์๋จ์ ์ฆ๋ช ํ์๋ค. ์ด๊ฒ์ HTTP/2 ํ๋กํ ์ฝ์ ๊ธฐ์ด๊ฐ ๋๋ค.
HTTP/2์ ์ฐจ๋ณ์ฑ
- ํ ์คํธ ํ๋กํ ์ฝ์ด๋ผ๊ธฐ๋ณด๋ค๋ ์ด์ง ํ๋กํ ์ฝ์ด๋ค. ์ฝ์ ์๋ ์์์ ์ ๋ง๋ค ์ ๋ ์๋ค. ๊ทธ๋ฌ๋ ์ด๋ก ์ธํด ์๋ก์ด ์ต์ ํ ๊ธฐ์ ์ด ๊ตฌํ๋ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
- ๋ณ๋ ฌ ์์ฒญ์ด ๋์ผํ ์ปค๋ฅ์ ์์์ ๋ค๋ฃจ์ด์ง ์ ์๋ ๋ค์คํ ํ๋กํ ์ฝ์ด๋ค.
- ์ ์ก๋ ๋ฐ์ดํฐ์ ๋ถ๋ช
ํ ์ค๋ณต๊ณผ ๊ทธ๋ฐ ๋ฐ์ดํฐ๋ก๋ถํฐ ์ ๋ฐ๋ ์ค๋ฒํค๋๋ฅผ ์ ๊ฑฐํ๋ค
- ์ฐ์๋ ์์ฒญ ์ฌ์ด์ ๋งค์ฐ ์ ์ฌํ ๋ด์ฉ์ผ๋ก ์กด์ฌํ๋ ํค๋๋ค์ ์์ถ์ํจ๋ค.
- ์๋ฒ๋ก ํ์ฌ๊ธ ์ฌ์ ์ ํด๋ผ์ด์ธํธ ์บ์๋ฅผ ์๋ฒ ํธ์ฌ๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋งค์ปค๋์ฆ์ ์ํด ํ์ํ๊ฒ ๋ ๋ฐ์ดํฐ๋ก ์ฑ์๋ฃ๊ฒ ํ๋ค.
์ค๋ฒํค๋๋? ์ด๋ค ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด ๋ค์ด๊ฐ๋ ๊ฐ์ ์ ์ธ ์ฒ๋ฆฌ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ๋งํ๋ค.
ํ์ดํ๋ผ์ธ์ด๋? ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋จ๊ณ์ ์ถ๋ ฅ์ด ๋ค์ ๋จ๊ณ์ ์ ๋ ฅ์ผ๋ก ์ด์ด์ง๋ ํํ๋ก ์ฐ๊ฒฐ๋ ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค. ์ด๋ ๊ฒ ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋จ๊ณ๋ ์ฌ๋ฌ ๋จ๊ณ๊ฐ ์๋ก ๋์์, ๋๋ ๋ณ๋ ฌ์ ์ผ๋ก ์ํ๋ ์ ์์ด ํจ์จ์ฑ์ ํฅ์์ ๊พํ ์ ์๋ค.
Alt-Svc
์ง์: ๋ ๋์ CDN ๋ฉ์ปค๋์ฆ์ ๋ฐ๋ผ ์ ๋ถ ์ฆ๋ช ์ ๊ฐ๋ ๊ณผ ์ฃผ์ด์ง ์์์ ์์น๋ฅผ ๋ถ๋ฆฌํ๋๋ก ํด์ค๋ค.Client-Hints
: ๋ธ๋ผ์ฐ์ ํน์ ํด๋ผ์ด์ธํธ๊ฐ ์๊ตฌ์ฌํญ์ด๋ ์๋ฒ์ ํ๋์จ์ด ์ ์ฝ์ฌํญ์ ๋ํ ์ ๋ณด๋ฅผ ์ฌ์ ์ ๋ฏธ๋ฆฌ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋์๋ค.Cookie
๋ด ๋ณด์ ๊ด๋ จ ์ ๋์ฌ ๋์
์ฐธ์กฐ
- https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP