One question (I’ve often encountered) / is,
“Why do we need HTTP/3 so soon after HTTP/2, which was only standardized in 2015?”
"내가 자주 만나는 질문 중 하나는, 2015년에 표준화된 HTTP/2 이후에 HTTP/3이 왜 그렇게 빨리 필요한가에 대한 것입니다._
This is indeed strange,/ until you / realize (that we didn’t really need a new HTTP version in the first place), / but rather an upgrade of the underlying Transmission Control Protocol (TCP).
애초에 새로운 HTTP 버전이 필요하지 않았다는 것을 깨닫기 전까지는/ 정말 이상한 일입니다. 오히려 기본 TCP(송신 제어 프로토콜)를 업그레이드한 것입니다.
TCP is the main protocol that provides crucial services such as (reliability and in-order delivery) to other protocols such as HTTP.
TCP는 HTTP와 같은 다른 프로토콜들에 신뢰성 및 순서대로 전달과 같은 중대한 서비스 제공하는 주요 프로토콜 입니다.
It(’s also one of the reasons) we can keep using the Internet (with many concurrent users), (because it smartly limits each user’s bandwidth usage to their fair share).
이것은 우리가 동시에 많은 사용자들과 함께 인터넷을 계속 사용할 수 있는 이유 중 하나이기도 하며, 이것은 TCP는 각 사용자의 대역폭 사용량을 공정하게 제한하여 이를 지능적으로 수행합니다.
Did You Know?
When using HTTP(S), you’re really using several protocols besides HTTP at the same time.
HTTP(S)를 사용할 때 HTTP 외에도 여러 프로토콜을 동시에 사용하고 있습니다.
Each of the protocols in this “stack” has its own features and responsibilities (see image below).
이 스택의 각 프로토콜은 고유한 기능과 책임을 가집니다.
For example, while HTTP deals with URLs and data interpretation, Transport Layer Security (TLS) ensures security by encryption, TCP enables reliable data transport by retransmitting lost packets, and Internet Protocol (IP) routes packets from one endpoint to another across different devices in between (middleboxes).
예를 들어 HTTP가 URL 및 데이터 해석을 다루지만,
TLS는 암호화를 통해 보안을 보장하고,
TCP는 손실된 패킷을 재전송함으로써 신뢰할 수 있는 데이터 전송을 가능하게 하며, 인터넷 프로토콜(IP)은 서로 다른 장치 사이에 걸쳐 하나의 엔드포인트에서 다른 엔드포인트로 라우팅합니다.
This “layering” of protocols (on top of one another) is done to allow easy reuse of their features.
프로토콜들의 'layering' 것은 그들의 기능을 쉽게 재사용할 수 있도록 하기 위해 이루어집니다.
Higher-layer protocols (such as HTTP) don’t have to reimplement complex features (such as encryption) because lower-layer protocols (such as TLS) already do that for them.
(HTTP와 같은) 상위 계층 프로토콜은 (암호화와 같은) 복잡한 기능을 다시 수행할 수 없습니다. 왜냐하면 (TLS와 같은) 하위 계층 프로토콜은 이미 그런 기능을 수행했기 때문입니다.
As another example, most applications on the Internet use TCP internally to ensure that all of their data are transmitted in full.
다른 예로 인터넷의 대부분 어플리케이션은 자신의 모든 데이터가 완전히 전송되도록 하기 위해 내부적으로 TCP를 사용합니다.
For this reason, TCP is one of the most widely used and deployed protocols on the Internet.
이런 이유로 TCP는 인터넷에서 가장 최고로 많이 배포되어 사용되는 프로토콜 중 하나입니다.
TCP has been a cornerstone of the web for decades, but it started to show its age in the late 2000s.
TCP는 수십 년 동안 웹의 중추 역할을 해 왔지만, 2000년대 후반부터 드러나기 시작했습니다.
Its intended replacement, (a new transport protocol named QUIC), (differs enough from TCP) (in a few key ways) (that running HTTP/2 directly on top of it) / would be very difficult.
그 의도된 대체물, 새로운 전송 프로토콜인 QUIC은 TCP와 몇가지 핵심적인 방법에서 충분히 다르기 때문에, HTTP/2를 직접 적용하는 것은 매우 어려울 것 입니다.
As such, HTTP/3 itself/is (a relatively small adaptation of HTTP/2) to make it compatible with the new QUIC protocol, (which includes most of the new features people are excited about).
그러므로, HTTP/3 자체는 새로운 QUIC 프로토콜과 호환되도록 HTTP/2를 비교적 작게 적용한 것입니다. 이는 사람들이 기대하는 대부분의 새로운 기능을 포함하고 있습니다.
QUIC is needed because TCP, (which has been around since the early days of the Internet), was not really built with maximum efficiency in mind.
QUIC이 필요한 이유는 인터넷 초기부터 존재해 온 TCP가 실제로는 최대 효율을 고려하여 설계된 것이 아니기 때문입니다."
For example, TCP requires a “handshake” to set up a new connection.
예를 들어 TCP는 새로운 연결을 설정하기 위해 handshake가 필요합니다.
This is done to ensure that both client and server exist and that they’re willing and able to exchange data.
이것은 클라이언트와 서버가 존재하며 데이터를 교환할 의사가 있고 능동적인지 확인하기 위해 수행됩니다.
It also, however, takes a full network round trip to complete before anything else can be done on a connection.
그것은 연결에서 다른 어떤 작업이라도 수행되기 전에 전체 네트워크 왕복 여행이 소요됩니다
If the client and server are geographically distant, each round-trip time (RTT) / can take over 100 milliseconds, incurring noticeable delays.
클라이언트와 서버가 지리적으로 떨어져 있을 때, 각 왕복 시간(RTT)이 100 밀리초를 초과하여 현저한 지연을 야기할 수 있습니다.
모르는 단어
encountered: (우연히)만나다, 마주치다, 맞딱드리다.
indeed: 실제로
underlying: 근본적인
crucial: 중대한
concurrent user: 동시 사용자
interpretation: 해석, 설명
internally: 내부적으로
intended: 의도된, 계획된
relatively: 상대적으로
compatible: 양립할 수 있는, 모순이 없는
incurring: 야기하다, 발생하다.
noticeable: 현저하게
원글: https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/