์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- IT
- CS
- ์ทจ์ค์
- ๋ฐฑ์ค
- ์ด๋
- ํฌ์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- HTTP/3.0
- Nginx๊ฐ๋
- ํ๋ก ํธ์๋
- HTTP
- ์ฝ๋ฉํ ์คํธ
- HTTP/1.0
- CS๊ธฐ์ ๋ฉด์
- docker
- HTTP/2.0
- Nginx
- ์ปดํจ๊ณตํ๊ณผ
- http ๋ฉ์๋
- Python
- ์ปดํจํฐ๊ณตํ๊ณผ
- ๋์ปค๊ธฐ๋ณธ๊ฐ๋
- gunicorn
- ๋์ปค ์ปจํ ์ด๋
- HTTP/0.9
- Jupyter notebook
- HTTP๋ฒ์
- JavsScript
- Javascript
- ๋์ปค๋ช ๋ น์ด
- Today
- Total
dogo_ day
HTTP ๋ฒ์ ์ฐจ์ด ํน์ง (0.9 1.0 1.1 2.0 3.0) ๋ณธ๋ฌธ
๐ HTTP 0.9
HTTP ์ด๊ธฐ๋ฒ์ ์ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ถ๋ฅด๋ ๋ฒ์ ์ด๋ค. (1991๋ )
์์ฒญ์ ๋จ์ผ ๋ผ์ธ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ ๊ฐ๋ฅํ ๋ฉ์๋๋ GET์ด ์ ์ผํ๋ค.
GET /mypage.html
์๋ต ๋ํ ๋จ์ํ๋ฉฐ ์ค๋ก์ง ํ์ผ ๋ด์ฉ ์์ฒด๋ก ๊ตฌ์ฑ๋๋ค.
<html>
A very simple HTML page
</html>
์ํ๋ ์ค๋ฅ์ฝ๋๋ ์กด์ฌํ์ง ์๋๋ค.
GET /mypage.html
๐ HTTP 1.0
๋ฒ์ ์ ๋ณด๊ฐ ๊ฐ ์์ฒญ ์ฌ์ดํธ๋ก ์ ์ก๋๊ธฐ ์์ํ์ผ๋ฉฐ ์์ฒญ์ ๋ํ ์ฑ๊ณต๊ณผ ์คํจ๋ฅผ ์ ์ ์๋ค.
์์ฒญ์ ๋ํ ๊ฒฐ๊ณผโก๋์์ ํ ์ ์๋ค.
HTTP ํค๋ ๊ฐ๋ ์ ์์ฒญ๊ณผ ์๋ต ๋ชจ๋๋ฅผ ์ํด ๋์ ์ด ๋์๋ค.
๋ฉํ๋ฐ์ดํฐ ์ ์ก์ ํ์ฉํ๊ณ ํ๋กํ ์ฝ์ ๊ทน๋๋ก ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์๋ค.
์๋ก์ด HTTP ํค๋์ ๋์์ผ๋ก ํ์ดํ HTML ํ์ผ๋ค ์ธ์ ๋ค๋ฅธ ๋ฌธ์๋ค์ ์ ์กํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์๋ค.
๐์ผ๋ฐ์ ์ธ ์์ฒญ ์๋ต
GET /mypage.html HTTP/1.0
User-Agent: KCSA_Mosaic/2.0 (Windows 3.1)
200 OK
Date: Tue, 15 Nov 1994 11:58:00 GMT
Server: CERN/3.0 libwww/2.17
Content-Type: text/html
<HTML>
A page with an image
<IMG SRC="/myimage.gif">
</HTML>
๐์ดํ ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ๊ธฐ ์ํ ์์ฒญ๊ณผ ๊ทธ์ ๋ํ ์๋ต
GET /myimage.gif HTTP/1.0
User-Agent: NCSA_Mosaic/2.0 (Windows 3.1)
200 OK
Date: Tue, 15 Nov 1994 13:28:00 GMT
Server: CERN/3.0 libwww/2.17
Content-Type: text/gif
(image content)
๐ HTTP 1.1 - ํ์ค ํ๋กํ ์ฝ
HTML/1.0์ด ๋์จ์ง ๋ช ๋ฌ ์๋์ 1997๋ ์ด์ ๊ณต๊ฐ๋์๋ค.
Header์ Body๋ก ๊ตฌ์ฑ๋์์ผ๋ฉฐ TCP ์ปค๋ฅ์ ์ ์ด์ฉํ์๋ค.(3-way-handshake)
๊ทธ๋ฆฌ๊ณ ์์ฒญ์ ๋ํ ์๋ต์ด ๋๋๊ธฐ ์ ์ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์์ฒญ ํ ์ ์๋ค.(ํ์ดํ๋ผ์ด๋)
/* ์์ฒญ */
GET /en-US/docs/Glossary/Simple_header HTTP/1.1
Host: developer.mozilla.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://developer.mozilla.org/en-US/docs/Glossary/Simple_header
/* ์๋ต */
200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Wed, 20 Jul 2016 10:55:30 GMT
Etag: "547fa7e369ef56031dd3bff2ace9fc0832eb251a"
Keep-Alive: timeout=5, max=1000
Last-Modified: Tue, 19 Jul 2016 00:59:33 GMT
Server: Apache
Transfer-Encoding: chunked
Vary: Cookie, Accept-Encoding
(content)
์นํ์ด์ง๋ ๋งค์ฐ ๋ณต์กํด์ง๋ฉด์, ์ข ์ข ์ง์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์๋ค. ๋์คํ๋ ์ด๋๋ ์๊ฐ์ ๋ฏธ๋์ด์ ์์ ๋ง๋ถ์ฌ ์ํธ์์ฉ์ ์ถ๊ฐํ๊ธฐ ์ํ ์คํฌ๋ฆฝํธ์ ์๊ณผ ํฌ๊ธฐ๋ ์ ์ ๋ ๋ง์ด ์ฆ๊ฐํ๊ณ ์์๋ค. ๋ ๋ง์ ๋ฐ์ดํฐ๋ค์ด ๋ ๋ง์ ์์ฒญ ๋๋จธ๋ก ์ ์ก๋๊ณ ์์๋ค.
๐ HTTP 2.0
๊ธฐ์กด HTTP 1.X ๋ฒ์ ์ ์ฑ๋ฅ ํฅ์์ ์ด์ ์ ๋ง์ถ ํ๋กํ ์ฝ์ด๋ค.(2015๋ )
ํ์ค์ ๋์ฒด๊ฐ ์๋ ํ์ฅ์ด๋ค.(ํ์ค: HTTP 1.1)
HTTP ๋ฉ์์ง ์ ์ก ๋ฐฉ์์ด ์ ํ๋์์ผ๋ฉฐ 4๊ฐ์ง ํน์ง์ด ์๋ค.
๋จผ์ HTTP ๋ฉ์ธ์ง ์ ์ก ๋ฐฉ์์ด ์ด๋ป๊ฒ ์ ํ๋์๋์ง ์์๋ณด์.
๊ธฐ์กด์ HTTP 1.1 ๋ฐฉ์์ ์ผ๋ฐ ํ ์คํธ ํ์์ด์๋ค.
HTTP 2.0์ Binary frame์ผ๋ก ์ธ์ฝ๋ฉ๋์ด ์ ์ก์ด ๋๋ค.
Multiplexed Stream
๊ธฐ์กด: HTTP 1.1์ ํ์ดํ๋ผ์ด๋์ผ๋ก ํ๋์ ์ปค๋ฅ์ ์ ์ฌ๋ฌ ์์ฒญ์ด ์กด์ฌํ์ง๋ง, ๊ฒฐ๊ตญ ๋์์ ์ฌ๋ฌ ์์ฒญ์ ์ฒ๋ฆฌํด ์๋ต์ผ๋ก ์ฃผ์ง๋ ๋ชปํ๋ค.
๊ฐ์ : ๊ตฌ์ฑ๋ ์ฐ๊ฒฐ ๋ด์ ์ ๋ฌ๋๋ ๋ฐ์ดํธ์ ์๋ฐฉํฅ ํ๋ฆ์ ์๋ฏธํ๋ stream์ผ๋ก ์์ฒญ๊ณผ ์๋ต์ด ๊ตํ๋๋ค.
๋์์ ์ฌ๋ฌ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
Stream Prioritization
๋ฆฌ์์ค๊ฐ ์ฐ์ ์์๋ฅผ ์ค์ ํ๋ ๊ธฐ๋ฅ์ด๋ค.
Stream์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํด์ ์ธํฐ๋ฆฌ๋น๋๊ณ ์ ๋ฌํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
์ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ ์ ์ผ๋ก ๋ณด๋ผ ์ ์๋ค.
Server Push
๋จ์ผ ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฌ๋ฌ ์๋ต์ ๋ณด๋ผ ์ ์๋ ํน์ง์ ํตํด Server์์ Client์๊ฒ ํ์ํ ์ถ๊ฐ์ ์ธ ๋ฆฌ์์ค๋ฅผ pushํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค.
ํ๋ง๋๋ก Client์๊ฒ ํ์ํ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ์ง์ ์ฉ์ฒญํ๊ธฐ ์ ์ ์๋ฒ๊ฐ ๋ฏธ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ฌ Client๊ฐ ๋ฐ์๋ณผ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค.
Header Compression
๊ธฐ์กด: ์ฐ์๋ ์์ฒญ์ ๊ฒฝ์ฐ ๋ง์ ์ค๋ณต๋ ํค๋์ ์ ์ก์ผ๋ก ์ค๋ฒํค๋๊ฐ ๋ง์ด ๋ฐ์ํ์๋ค.
๊ฐ์ : ์์ฒญ๊ณผ ์๋ต์ ํค๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์์ถํด์ ์ค๋ฒํค๋๋ฅผ ๊ฐ์์์ผฐ๋ค.
๐ HTTP 3.0
Google์์ UDP ๊ธฐ๋ฐ์ ์ ์ก ํ๋กํ ์ฝ์ธ QUIC(Quick UDP Internet Connections)์ ๊ฐ๋ฐํ์๋ค.
Google์์ TCP์ ๊ตฌ์กฐ์ ๋ฌธ์ ๋ก ์ฑ๋ฅ ํฅ์์ด ์ด๋ ต๋ค๊ณ ํ๋จํ์ฌ UDP ๊ธฐ๋ฐ์ ์ ํํ์๋ค๊ณ ํ๋ค.
QUIC๋ TCP์ 3-way-handshake๊ณผ์ ์ ์ต์ ํ ํ๋ ๊ฒ์ ์ด์ ์ ๋๊ณ ๊ฐ๋ฐํ์๋ค.
TCP์ Stream์ ํ๋์ chain์ผ๋ก ์ฐ๊ฒฐ๋๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ QUIC๋ ๊ฐ Stream๋น ๋ ๋ฆฝ๋ Stream chain์ ๊ตฌ์ฑํ์ฌ TCP HOL Blocking์ ํด๊ฒฐํ์๋ค.
HTTP 3.0์ QUIC์ ๊ธฐ๋ฐ์ผ๋ก ๋์จ ์๋ก์ด HTTP ๋ฉ์ด์ ๋ฒ์ ์ด๋ค.
์ฐธ๊ณ ์๋ฃ
'IT > CS_' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HTTP vs HTTPS (1) | 2023.04.27 |
---|