๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
HTTP 1.1 VS HTTP2.0/Capstone design

[#5 Http1.1 vs Http2.0] ๋ฌธ์ œ ํ•ด๊ฒฐ / ํŒŒ์ผ ์‚ฌ์ด์ฆˆ ๋ณ„ ์ธก์ •/ ์˜คํ”ˆ ์†Œ์Šค ์กฐ์‚ฌ

by ๋„์บ๋ฆฌ๐Ÿฑ 2021. 5. 24.
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ํ•ด๊ฒฐ

๋ฌธ์ œ: Http1.1 ์—์„œ ์ด๋ฏธ์ง€ํŒŒ์ผ์ด ์ œ ํฌ๊ธฐ๋กœ ๊ฐ€์ง€ ์•Š์•„์„œ ์ธก์ •์ด ์ž˜ ๋ชป ๋จ. ๋„คํŠธ์›Œํฌ ๋กœ๊ทธ์—์„œ JPEG๊ฐ€ ์•„๋‹Œ TEXT๋กœ ๊ฐ€๊ณ  ์žˆ์—ˆ๋‹ค... ...

 

1. ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ 1.1์ง€์›์„ ์•ˆํ•ด์„œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•ด๋‘์—ˆ๋Š”๋ฐ, ๊ทธ๊ฒŒ ์ž˜๋ชป๋˜์–ด์žˆ๋Š” ๊ฑด ์•„๋‹๊นŒ ์‹ถ์—ˆ๋‹ค. 

๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด HTTP1.1 ํ”Œ๋ž˜๊ทธ ์„ค์ •์„ ์˜๋ฌธ์œผ๋กœ, ํ•œ๊ธ€๋กœ ๊ฒ€์ƒ‰์„ ๋” ํ•ด๋ณด์•˜๋Š”๋ฐ ๋งˆ๋•…ํžˆ ์ฐธ๊ณ ํ• ๋งŒํ•œ๊ฒƒ์ด ๋‚˜์˜ค์ง€ ์•Š์•˜๊ณ , ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ๋‚˜ ๋ฌธ์„œ๋“ค์„ ํ†ตํ•ด ๋”ฐ๋ผ ํ•ด๋ดค๋Š”๋ฐ ์•ˆ๋˜์—ˆ๋‹ค.

chrome://flags/

 

2. ์•„๋ž˜์—๋Š” ํฌ๋กฌ์—์„œ ์ž๋™์œผ๋กœ ํ•œ๋ฒˆ HTTPS๋กœ ๋ฐฉ๋ฌธํ•œ ์–˜๋“ค์„ ์ดํ›„์—๋„ ๋ฐ”๋กœ HTTPS๋กœ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•˜๊ฒŒ๋” ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ๋„๋ฉ”์ธ ์‚ญ์ œ๋ฅผ ํ†ตํ•ด์„œ ์—†์• ๋Š” ๊ฒƒ์ด๋‹ค. (ํ˜น์‹œ HTTP ์„œ๋ฒ„ ์ž„์—๋„, ๊ณ„์†ํ•ด์„œ HTTPS ๋กœ ๊ฐ€๋Š” ๊ฑด ์•„๋‹Œ๊ฐ€ ์‹ถ์—ˆ๋‹ค.) 

chrome://net-internals/#hsts

์œ„์™€ ๊ฐ™์€ ๊ฒฝ์šฐ ๋„๋ฉ”์ธ ์‚ญ์ œ์‹œ ๋ชจ๋“  ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์€ ์ƒํƒœ๋กœ ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. 

 

ํ”Œ๋ž˜๊ทธ๋„, ์œ„์— ๋„๋ฉ”์ธ ์‚ญ์ œ๋„ ์ด๊ฒƒ์ €๊ฒƒ์„...ํ•ด๋ดค๋Š”๋ฐ...

 

3. ์ฐธ๊ณ 

github.com/istio/istio/issues/14708

 

Is it possible to disable http2 and always use http 1.1? · Issue #14708 · istio/istio

we are using istio 1.1.7 and we have an issue with http2, is there a way to configure istio to use only http 1.1 protocol by default ? didnt find any way in the docs how to configure it...

github.com

 

4. ๊ฒฐ๊ตญ ํ•ด๊ฒฐํ•œ๊ฑด.

ํŒŒ์ด์ฌ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์ง  ๊ฒƒ์„ ํ†ตํ•ด์„œ์ด๋‹ค.

์ฒซ๋ฒˆ์งธ๊ฐ€ ๊ธฐ์กด ์ฝ”๋“œ๊ณ ,  ๋‘๋ฒˆ์งธ๊ฐ€ ๋ณ€๊ฒฝํ•˜์—ฌ ์ œ๋Œ€๋กœ JPEG๋ฅผ ์ „์†กํ•˜๋Š” HTTP1.1 ์„œ๋ฒ„๋‹ค..!ใ… ใ… 

 

๐Ÿ‘‡์ฐธ๊ณ 

jungeunlee95.github.io/

webisfree.com/

import socket 

HOST, PORT = '',9000

listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
listen_socket.bind((HOST,PORT))
listen_socket.listen(1)
print('Serving HTTP on port',PORT,'...')

while True:
    client_connection, client_address = listen_socket.accept()
    request = str(client_connection.recv(1024),'utf-8')
    print(request)

    http_response = "HTTP/1.1 200 OK\n\n"
    file = open('index_img3.html','r+b')
    client_connection.sendall(bytes(http_response,'utf-8'))
    client_connection.sendfile(file)

    file.close()
    client_connection.close()
import http.server
import socketserver

handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(('',9000),handler) as httpd:
	print('Server listening on port 9000')
	httpd.serve_forever()

 

 

HTTP1.1 ํฌ๋กฌ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ. 

Loading ์‹œ๊ฐ„

 

 

 cat1
cat_10
last response

 

์ธก์ •

 

img L 


 

 

 

๋‹ค์‹œ ์ธก์ •ํ•œ ๊ฒƒ ์•„๋ž˜์— ๊ธฐ๋ก(์ˆ˜ํ–‰ ์—‘์…€ ์‹œํŠธ) - ์ด๋ฏธ์ง€ ๊ด€๋ จ

https://docs.google.com/spreadsheets/d/1ifBqptXL09vX0zMQe1AGBAEvsHZwrHhqJvATiESnq1g/edit?usp=sharing

 

 


ํŒŒ์ผ ์‚ฌ์ด์ฆˆ ๋ณ„ ์ธก์ •

 

1. ํ…Œ์ŠคํŠธ ํŒŒ์ผ ์ค€๋น„ ํ•˜๊ธฐ

: ๋ฆฌ๋ˆ…์Šค์—์„œ ์ค€๋น„ํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋กœ, 20MB, 512MB, 1GB ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค ํ…Œ์ŠคํŠธ ํŒŒ์ผ ์ƒ์„ฑ ๋ช…๋ น์–ด

 

์ƒ๊ธด ํ…Œ์ŠคํŠธ ํŒŒ์ผ๋“ค

 

 

2. ์ธก์ •ํ•˜๊ธฐ

http1.1
http2


 

์˜คํ”ˆ ์†Œ์Šค ๋„คํŠธ์›Œํฌ ๋กœ๊ทธ ์ฝ์–ด ์ฃผ๋Š” ๊ฒƒ ์ฐพ์•„๋ณด๊ธฐ.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€