• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

HTTP 1.1과 2.0, 그리고 3.0의 차이점.

달소 달소 614

2

9

이런건 GPT에게 물어봐줘야 제맛이죠..

PLUS 구독한김에 물어봤습니다 ㅎㅎ

 


 

HTTP(Hypertext Transfer Protocol)는 웹 브라우저와 서버 간의 문서, 이미지, 동영상 등의 데이터를 주고받을 수 있는 통신 규약입니다. HTTP는 여러 버전이 있으며, 각 버전은 기능과 성능의 개선을 목표로 발전하였습니다. HTTP/1.1, HTTP/2.0 및 HTTP/3.0의 주요 차이점은 다음과 같습니다.

  1. HTTP/1.1: 1997년에 도입된 HTTP/1.1은 HTTP/1.0의 개선된 버전입니다. HTTP/1.1의 주요 변경 사항과 기능은 다음과 같습니다.

  • 지속적인 연결(Persistent connections): 자주 사용되는 연결을 재사용하여 요청별 새로운 연결의 오버헤드를 줄입니다.
  • 파이프라인화(Pipelining): 여러 요청을 동시에 보내고 순서대로 응답을 받아 효율성을 높입니다. 하지만 순서가 지켜지지 않으면 전체 과정이 지연되는 "head-of-line" 문제가 발생할 수 있습니다.
  • 캐싱(Caching): 캐시된 데이터를 사용하여 서버에 대한 요청 수를 줄이고 성능을 개선합니다.
  • 청크 전송(Chunked transfer encoding): 응답을 여러 청크로 나누어 전송하며, 전체 크기를 미리 알지 못할 때 유용합니다.
  1. HTTP/2.0: 2015년에 발표된 HTTP/2.0은 웹 성능의 획기적인 개선을 목표로 하였습니다. 주요 변경 사항과 기능은 다음과 같습니다.

  • 이진 프로토콜(Binary protocol): HTTP/1.1의 텍스트 기반 프로토콜에서 이진 프로토콜로 변경되어, 통신을 더 효율적으로 처리합니다.
  • 다중화(Multiplexing): 한 번의 TCP 연결로 동시에 여러 요청과 응답을 처리할 수 있습니다. 이로 인해 head-of-line 문제를 해결하고 전체적인 효율성을 향상시킵니다.
  • 서버 푸시(Server Push): 서버가 클라이언트의 요청을 미리 예측하고 필요한 리소스를 미리 보내어 성능을 개선합니다.
  • 헤더 압축(Header compression): HPACK 압축을 사용하여 헤더 데이터를 압축하고 통신 오버헤드를 줄입니다.
  1. HTTP/3.0: HTTP/3.0은 아직 완전히 표준화되진 않았지만, 주요 변경 사항과 기능은 다음과 같습니다.

  • QUIC 프로토콜 사용: HTTP/3.0은 TCP 대신 QUIC 프로토콜을 사용합니다. QUIC은 User Datagram Protocol(UDP) 위에서 작동하는 전송 계층 프로토콜로, HTTP/3.0의 성능 개선에 크게 기여합니다.
  • 연결 설정 지연 감소: QUIC은 보안 연결 설정에 소요되는 시간을 줄여 빠른 연결을 가능하게 합니다. 이는 특히 네트워크 지연이 큰 상황에서 유용합니다.
  • 독립적인 스트림 처리: QUIC은 각 스트림이 독립적으로 처리되므로, 하나의 스트림에서 발생한 지연이 다른 스트림에 영향을 주지 않습니다. 이로 인해 HTTP/2.0의 head-of-line 문제가 더욱 해결됩니다.
  • 내장형 전송 계층 보안: QUIC은 기본적으로 전송 계층 보안(TLS)을 내장하고 있어, 별도의 보안 계층을 사용하지 않고도 데이터를 안전하게 전송할 수 있습니다.

결론적으로, 각 HTTP 버전은 웹 성능과 효율성의 개선을 목표로 발전해왔습니다. HTTP/1.1은 지속적인 연결과 파이프라인화를 도입했으며, HTTP/2.0은 이진 프로토콜과 다중화, 서버 푸시, 헤더 압축 등으로 성능을 개선했습니다. 마지막으로 HTTP/3.0은 QUIC 프로토콜을 도입하여 연결 설정 지연을 줄이고 독립적인 스트림 처리를 가능하게 하여 더 나은 웹 경험을 제공합니다.

 

벤치마크 속도 차이

 

HTTP 버전 간의 성능 차이는 여러 요인에 의해 영향을 받기 때문에 정확한 벤치마크를 제공하기는 어렵습니다. 그러나 일반적인 상황에서 HTTP/1.1, HTTP/2.0 및 HTTP/3.0 간의 성능 차이는 다음과 같이 요약할 수 있습니다.

  1. HTTP/1.1 대비 HTTP/2.0: HTTP/2.0은 다중화, 서버 푸시, 헤더 압축, 이진 프로토콜 등의 기능 덕분에 HTTP/1.1보다 웹 성능이 향상되었습니다. 일반적으로 HTTP/2.0은 HTTP/1.1에 비해 페이지 로드 시간이 약 20-30% 빠르다고 알려져 있습니다. 그러나 이러한 개선은 콘텐츠의 크기, 네트워크 상태, 서버 구성 등 다양한 요인에 따라 달라질 수 있습니다.

  2. HTTP/2.0 대비 HTTP/3.0: HTTP/3.0은 주로 QUIC 프로토콜의 도입으로 인한 성능 개선이 있습니다. 특히, 네트워크 지연이 크거나 패킷 손실이 자주 발생하는 상황에서 HTTP/3.0의 성능 개선 효과가 더욱 두드러집니다. 실제로 HTTP/3.0은 HTTP/2.0보다 페이지 로드 시간을 최대 8-13% 정도 개선할 수 있다고 알려져 있습니다. 그러나 HTTP/3.0의 성능 개선 효과 역시 여러 요인에 의해 영향을 받습니다.

최종적으로, 벤치마크 결과는 웹 사이트, 서버, 네트워크 환경 및 사용자 위치와 같은 다양한 요인에 따라 크게 달라질 수 있습니다. 따라서 성능 비교를 위한 실제 테스트는 해당 조건에 맞게 진행해야 합니다.

썸네일을 위한 유튜브 검색입니다 ㅋㅋ
 

 

신고공유스크랩
9
1등
콜라 2023.03.20. 21:34

오.. 좋은 영상이네요.
http2가 성능 향상이 크다고는 하던데, 저 구조를 보면, 같은 머신의 같은 독커 네트워크에 npm(nginx 프론트엔드)과 웹서버(nginx 백엔드) 사이는 1.1이나 2(애초에 nginx를 프론트 엔드로 쓰면 백엔드로는 http2가 불가능하지만요.)나 성능 차이는 절대 클것 같지 않겠네요
5%도 안날것 같아요.

profile image
달소 글쓴이 2023.03.20. 22:30
outlaw2
클플도 quic를 지원하고 시간이지나면 좀더 많이 지원하지않을까 싶습니다
콜라 2023.03.20. 22:42
달소

litespeed라는 엔진이 quic http3를 지원합니다.
nginx도 플러그인(?)으로 되는 모양이던데...
아직 정식 branch로는 포함되지 않은 것 같더라구요

dns over http3(quic)도 있습니다.
ssl 암호화를 하는 udp dns..!!
빨리 많은 곳에 도입 되면 좋겠어욯ㅎ

 

라이트스피드가 무료는 캐시기능이 없고

유료는 1코어 2기가까지는 무료입니다.

a1 없을때면 라이트 스피그 썼는데..

무료 라이트 스피드보다는 무료 엔진엑스가 후훨씬 성능 좋더라구요.

profile image 3등
우성짱 2023.03.21. 18:09
HTTP3 그누보드에 써봤는데 몇가지 오류가 있어서 http2로 쓰고 있습니다. 느낌상으로 좋았지만 실사용으로는 모르겠더라구요. ㅎㅎ

litespeed는 워드프레스 쓸때 좋았습니다. 자체 캐시 플러그인이 있어서 purge도 쉽구요. 무료로 써도 플러그인은 쓸 수 있어서 마음에 들더라구요. 메인으로 워드프레스를 쓴다면 litespeed 웹서버 추천합니다.
profile image
달소 글쓴이 2023.03.21. 22:07
우성짱
역시,, 아직은 과도기인 기술이군요 ㄷㄷ
우성짱님 사이트에서 후기를 봤었던기억이 어렴풋이 납니다 ㅎㅎ 선구자님..

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

등록된 글이 없습니다.