https://github.com/mohammad-pooladi/http3_quic
HTTP/3 is the latest version of the HTTP protocol, built on top of the QUIC protocol. It is designed to reduce latency, improve security, and enhance performance. Unlike HTTP/2, which relies on TCP, HTTP/3 uses QUIC directly.
https://github.com/mohammad-pooladi/http3_quic
http http3 https quic
Last synced: 2 months ago
JSON representation
HTTP/3 is the latest version of the HTTP protocol, built on top of the QUIC protocol. It is designed to reduce latency, improve security, and enhance performance. Unlike HTTP/2, which relies on TCP, HTTP/3 uses QUIC directly.
- Host: GitHub
- URL: https://github.com/mohammad-pooladi/http3_quic
- Owner: mohammad-pooladi
- Created: 2024-12-13T22:08:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-02T22:16:50.000Z (about 1 year ago)
- Last Synced: 2025-04-08T11:37:12.552Z (12 months ago)
- Topics: http, http3, https, quic
- Homepage:
- Size: 37.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HTTP/3 & QUIC
HTTP/3 is the latest version of the HTTP protocol, built on top of the **QUIC** protocol. It is designed to reduce latency, improve security, and enhance performance. Unlike HTTP/2, which relies on **TCP**, HTTP/3 uses QUIC directly.
## Key Features of HTTP/3
1. Based on QUIC
- HTTP/3 uses QUIC instead of TCP, enhancing connection speed and data transfer.
2. Default Encryption
- All HTTP/3 communications are encrypted by default using **TLS 1.3**.
3. Stream Multiplexing Without Head-of-Line Blocking
- HTTP/3 supports stream multiplexing, allowing multiple requests to be sent simultaneously without interference.
4. Reduced Latency
- Using QUIC instead of TCP reduces handshake time, lowering latency.
5. Resilience to Network Changes
- HTTP/3 maintains connections even when IP addresses or networks change.
---
## Architecture of HTTP/3
1. QUIC Layer
- HTTP/3 is built directly on QUIC, which operates over UDP and provides features like congestion control and built-in encryption.
2. HTTP Layer
- This layer handles HTTP requests and responses but leverages QUIC features to enhance performance.
---
## Advantages of HTTP/3
1. Higher Efficiency
- Reduced communication overhead and latency.
2. Stronger Security
- Default encryption and protection against various attacks.
3. Improved User Experience
- Faster webpage load times and better video streaming services.
---
## Challenges of HTTP/3
1. Implementation Complexity
- Requires changes in servers and browsers to support QUIC.
2. More Difficult Traffic Analysis
- Default encryption makes data analysis more challenging.
3. Incompatibility with Older Networks
- Some networks and firewalls may block UDP, causing functionality issues.
---
# QUIC (Quick UDP Internet Connections)
is a modern transport layer protocol developed by **Google** to enhance speed, security, and efficiency in internet communications, later standardized by **IETF**. It:
- Is built on **UDP**, offering advanced features like **congestion control**, **reliable delivery**, and **multiplexing**.
- Reduces latency by removing the Three-Way Handshake and integrating **TLS 1.3** encryption at the transport layer.
- Powers **HTTP/3** by default, making it ideal for streaming, online gaming, and environments with changing networks (e.g., switching between Wi-Fi and mobile data).
---
## Full QUIC protocol specifications
1. Modern Transport Protoco
- QUIC is a transport layer protocol built on **UDP**, designed to enhance and modernize many of TCP's features.
2. Integrated TLS 1.3
- QUIC integrates **TLS 1.3** encryption by default, ensuring data security during transmission.
3. Eliminated Three-Way Handshake
- It reduces latency by eliminating the **Three-Way Handshake** present in TCP.
4. Stream Multiplexing Without Head-of-Line Blocking
- Enables concurrent streams of data without interference (solves Head-of-Line Blocking).
5. Resilient to Network Changes
- Maintains connections even when the network changes (e.g., switching between Wi-Fi and mobile data).
6. Enhanced Video Streaming Performance
- Optimized for video streaming, online gaming, and real-time services.
7. Powering HTTP/3
- QUIC is the foundation of **HTTP/3**, replacing HTTP/2.
---
## Security Aspects of QUIC
1. Default Encryption
- All QUIC communications are encrypted by default using TLS 1.3, ensuring data security at all times.
2. Protection Against Replay Attacks
- QUIC employs mechanisms to prevent replay attacks.
3. Reduced DDoS Risks
- By utilizing UDP with specific mechanisms, QUIC reduces the risk of DDoS attacks.
4. Fast Initial Authentication
- QUIC performs authentication in the first packet, preventing delay-related attacks.
5. Prevention of Data Interception
- All data sent via QUIC is encrypted, eliminating the risk of data interceptio
6. Transparency Challenges
- Default encryption makes traffic analysis and debugging more challenging.
---
## QUIC Architecture
1. Layers in QUIC
- The architecture of QUIC consists of several layers handling connection management, data transfer, and security. It is built on UDP but provides functionalities beyond TCP.
2. Key Components of QUIC Architecture
1. Transport Layer
- **Connection Management:** QUIC handles connections at the stream level and ensures reliable data delivery.
- **Error Recovery:** Like TCP, it employs **congestion control** and **flow control** mechanisms.
2. Security Layer
- QUIC integrates **TLS 1.3** directly into the transport layer.
- This integration reduces authentication latency and secures data in transit.
3. UDP Layer
- QUIC uses UDP as the underlying layer. This layer only handles packet delivery, with advanced features managed by QUIC itself.
4. Stream Multiplexing
- QUIC allows you to handle multiple independent streams simultaneously over a single connection.
- Unlike TCP, there is no Head-of-Line Blocking between streams.
5. Connection State Management
- Connection information (e.g., encryption keys) is stored on both the client and server.
- If the connection is interrupted, it can be resumed without losing data.
3. How QUIC Work
1. Connection Establishment
- QUIC initiates a connection by sending an initial message containing TLS 1.3 encryption keys. This process is much faster than TCP.
2. Data Transmission
- Data is divided into independent streams.
- Each stream can be processed without affecting others.
3. Error Handling and Congestion Control:
- QUIC employs advanced congestion control algorithms (similar to TCP) and can recover lost packets.
---
### Architectural Features
1. UDP-Based Design
- QUIC leverages UDP for simpler implementation and improved performance.
2. Built-in Encryption
- All data is transmitted with encryption by default.
3. Simultaneous Multiplexing
- Multiple independent streams in a single connection.
4. High Adaptability to Network Changes
- Handles IP address changes without disconnecting.