User Tools

Site Tools


protocols:http

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
protocols:http [2026/07/01 11:07] – [Intro] v1ctorprotocols:http [2026/07/01 14:08] (current) – [Intro] v1ctor
Line 1: Line 1:
 ====== HTTP ====== ====== HTTP ======
  
-==== Intro ====+===== Intro =====
  
 HTTP can run in two modes: HTTP can run in two modes:
Line 13: Line 13:
 Both have a start line, headers, an empty line and optional body. Both have a start line, headers, an empty line and optional body.
  
-VERSION - the application doesn't usually care which protocol version is being used. The web-server translates the protocol details into standard request before passing it to the application.  +**Version** - the application doesn't usually care which protocol version is being used. The web-server translates the protocol details into standard request before passing it to the application. 
-==== HTTP Request Message ====+ 
 +The version is **negotiated** during TLS handshake. The browser advertises the application protocols it supports using TLS extension called ALPN. 
 + 
 +There is no TLS handshake for HTTP, so the browser simply starts with **HTTP/1.1**.  
 + 
 +**HTTP/3**\\ 
 +HTTP/3 runs on top of the QUIC (Quick UDP). The main idea that we eliminate two handshaks that were needed in HTTPs (TCP + TLS). 
 + 
 +In QUIC TLS handshake is absorbed into the initial setup handshake. HTTP/3 does not run TLS "on top" of QUIC. Instead, **TLS 1.3** is built into the QUIC protocol itself. 
 + 
 +QUIC mitigates HOL (Head of Line) problem by treating each stream within a single connection independently. If one particular frame is lost, QUIC will handle it separately without blocking the rest of the streams. 
 + 
 +===== HTTP Request Message =====
  
 First line in the Request Message is called a **request** line. The subsequent lines are called **headers** line. First line in the Request Message is called a **request** line. The subsequent lines are called **headers** line.
protocols/http.1782904021.txt.gz · Last modified: by v1ctor