Network Stack
Low-latency, asynchronous networking infrastructure designed for speed, security, and next-generation protocols in ZepraBrowser.
Capabilities
HTTP Client
Robust multi-protocol support including HTTP/2 multiplexing, connection pooling, and automatic retries.
TLS/SSL Security
Hardware-accelerated cryptographic handshakes via advanced SSL Contexts built for modern privacy standards.
WebSockets
Full-duplex real-time communication channels specifically optimized for the JavaScript binding layer.
Key Components
The core asynchronous event loop for transmitting and receiving generalized HTTP/1.1 and HTTP/2 payloads.
Asynchronous hostname resolution with built-in memory caching and support for experimental DNS-over-HTTPS (DoH).
Implements spec-compliant HTTP caching headers, conditional GETs, and disk-backed resource caching.
High-level coordinator used by the WebCore engine to orchestrate simultaneous file downloads prioritizing page critical rendering paths.
Secure storage and transmission of HTTP cookies, enforcing SameSite policies, Secure flags, and HttpOnly boundaries.
Asset Request Flow
┌───────────────────────┐
│ WebCore (DOM / CSS) │ e.g. <img src="xyz.jpg">
└──────────┬────────────┘
│
┌──────────▼────────────┐
│ resource_loader.cpp │ Prioritizes asset type
└──────────┬────────────┘
│
┌──────────▼────────────┐ ┌───────────────────┐
│ http_cache.cpp ├────▶ Disk / Mem Cache │ (If Hit: Return Instantly)
└──────────┬────────────┘ └───────────────────┘
│ (If Miss)
┌──────────▼────────────┐ ┌───────────────────┐
│ dns_resolver.cpp ├────▶ Local DNS Cache │
└──────────┬────────────┘ └───────────────────┘
│ Yields IP Endpoint
┌──────────▼────────────┐ ┌───────────────────┐
│ http_client.cpp ├────▶ ssl_context.cpp │ TLS Handshake
└──────────┬────────────┘ └─────────┬─────────┘
│ │
◀──────────┴───────────────────────────┴─────────────▶ Remote Server / TCP Socket