Language / Jazyk: English | Čeština
Web application for measuring and comparing HTTP/1.1, HTTP/2, and HTTP/3 performance under real-world conditions.
- Automatic HTTP protocol detection (HTTP/1.1, HTTP/2, HTTP/3)
- Performance metrics: TTFB, DOM Load Time, Full Load Time, Resource Count, Total Size
- Three test scenarios: Baseline (small assets), Large Files (heavy assets), Multiplexing (many small assets)
- Results visualization with charts
- Data export (JSON, CSV)
- Bilingual interface (EN/CZ)
- Frontend: Vite + React 19
- Styling: Tailwind CSS v4
- Charts: Chart.js + react-chartjs-2
- Routing: React Router
- Deployment: Cloudflare Pages (HTTP/1.1, HTTP/2, HTTP/3 support)
http-protocol-testing/
├── frontend/ # React application
│ ├── public/
│ │ └── assets/ # Generated test assets
│ │ ├── images/ # Small, medium, large images
│ │ ├── scripts/ # JavaScript files
│ │ └── styles/ # CSS files
│ └── src/
│ ├── components/ # React components
│ ├── pages/ # Pages
│ ├── i18n/ # Internationalization
│ └── utils/ # Utilities
└── testing/ # Test scripts
└── scripts/
├── generate-assets.js # Asset generation
├── curl-test.sh # Curl testing
└── analyze-results.js # Results analysis
# 1. Install dependencies
cd frontend
npm install
# 2. Generate test assets
node testing/scripts/generate-assets.js
# 3. Start development server
npm run devApplication will be available at http://localhost:5173
cd frontend
npm run buildBuild output: frontend/dist
Live Demo: https://http-protocol-testing.tomas-stveracek.workers.dev/
- Push to GitHub
- Connect Cloudflare Workers & Pages to your repository
- Build settings:
- Build command:
cd frontend && npm install && npm run build - Deploy command:
cd frontend && npx wrangler deploy - Root directory:
/
- Build command:
Cloudflare Workers automatically supports HTTP/2 and HTTP/3.
Recommended Testing Strategy:
-
HTTP/3 (Cloudflare - Default)
- Visit: https://http-protocol-testing.tomas-stveracek.workers.dev/
- Chrome with QUIC enabled (default)
- Most modern, fastest protocol
-
HTTP/2 (Cloudflare - Fallback)
- Visit same URL
- Disable QUIC in Chrome:
chrome://flags→ search "QUIC" → Disable - Restart Chrome
- Clear browser cache for accurate results
-
HTTP/1.1 (Localhost - Development Only)
- Run:
npm run dev→http://localhost:5173 ⚠️ Warning: Results are NOT comparable to production (no network latency)- Use only for feature testing, not performance comparison
- Run:
- Select a test scenario (Light / Heavy / Many resources)
- Check the detected HTTP protocol in the black badge
- Review measured metrics (TTFB, DOM Load, Full Load)
- Click "Save Result" to store for comparison
- Visit Results page to view charts and statistics
MIT License
Created by Tomáš Štveráček | GitHub
Webová aplikace pro měření a porovnání výkonu HTTP/1.1, HTTP/2 a HTTP/3 v reálných podmínkách.
- Automatická detekce HTTP protokolu (HTTP/1.1, HTTP/2, HTTP/3)
- Metriky výkonu: TTFB, DOM Load Time, Full Load Time, počet zdrojů, celková velikost
- Tři testovací scénáře: Základní (malé assety), Velké soubory (velké assety), Multiplexing (mnoho malých assetů)
- Vizualizace výsledků pomocí grafů
- Export dat (JSON, CSV)
- Dvojjazyčné rozhraní (EN/CZ)
- Frontend: Vite + React 19
- Styling: Tailwind CSS v4
- Grafy: Chart.js + react-chartjs-2
- Routing: React Router
- Deployment: Cloudflare Pages (podpora HTTP/1.1, HTTP/2, HTTP/3)
http-protocol-testing/
├── frontend/ # React aplikace
│ ├── public/
│ │ └── assets/ # Generované testovací assety
│ │ ├── images/ # Malé, střední, velké obrázky
│ │ ├── scripts/ # JavaScript soubory
│ │ └── styles/ # CSS soubory
│ └── src/
│ ├── components/ # React komponenty
│ ├── pages/ # Stránky
│ ├── i18n/ # Internacionalizace
│ └── utils/ # Utility funkce
└── testing/ # Testovací skripty
└── scripts/
├── generate-assets.js # Generování assetů
├── curl-test.sh # Curl testování
└── analyze-results.js # Analýza výsledků
# 1. Instalace závislostí
cd frontend
npm install
# 2. Vygenerování test assetů
node testing/scripts/generate-assets.js
# 3. Spuštění vývojového serveru
npm run devAplikace bude dostupná na http://localhost:5173
cd frontend
npm run buildVýstup buildu: frontend/dist
Live Demo: https://http-protocol-testing.tomas-stveracek.workers.dev/
- Push do GitHub
- Připojení Cloudflare Workers & Pages k repozitáři
- Nastavení buildu:
- Build command:
cd frontend && npm install && npm run build - Deploy command:
cd frontend && npx wrangler deploy - Root directory:
/
- Build command:
Cloudflare Workers automaticky podporuje HTTP/2 a HTTP/3.
Doporučená Testovací Strategie:
-
HTTP/3 (Cloudflare - Výchozí)
- Navštivte: https://http-protocol-testing.tomas-stveracek.workers.dev/
- Chrome s povoleným QUIC (výchozí)
- Nejmodernější, nejrychlejší protokol
-
HTTP/2 (Cloudflare - Fallback)
- Navštivte stejnou URL
- Vypněte QUIC v Chrome:
chrome://flags→ hledejte "QUIC" → Zakázat - Restartujte Chrome
- Vymažte cache prohlížeče pro přesné výsledky
-
HTTP/1.1 (Localhost - Pouze Pro Vývoj)
- Spusťte:
npm run dev→http://localhost:5173 ⚠️ Varování: Výsledky NEJSOU srovnatelné s produkcí (žádná síťová latence)- Používejte pouze pro testování funkcí, ne pro porovnání výkonu
- Spusťte:
- Vyberte testovací scénář (Lehký / Těžký / Mnoho zdrojů)
- Zkontrolujte detekovaný HTTP protokol v černém poli
- Prohlédněte si naměřené metriky (TTFB, DOM Load, Full Load)
- Klikněte na "Uložit výsledek" pro uložení k porovnání
- Navštivte stránku Výsledky pro zobrazení grafů a statistik
MIT License
Vytvořil Tomáš Štveráček | GitHub