HTTP/1.1 bir avuç bağlantı açar ve her birinde sırayla tek istek gönderirdi; dolayısıyla her fazladan dosya sırada bir yere mal olurdu. HTTP/2 hepsini tek bir bağlantı üzerinden aynı anda gönderir ve yalnızca bu değişiklik, birkaç eski iyileştirmeyi anlamsız ya da zararlı kılar.

Açın

listen 443 ssl;
http2 on;

Her tarayıcıda TLS ister, yani zaten sahip olduğunuz sertifikayla birlikte gelir. Başka hiçbir şeyin değişmesi gerekmez.

Artık doğru olmayanlar

Bütün betikleri tek dosyada birleştirmek ve CSS görsel levhaları, isteklerin SAYISINI azaltmak için vardı. HTTP/2 altında o sayının bedeli neredeyse yoktur — üstelik tek büyük bir paket, bir satır değişince her ziyaretçi için hepsinin geçersiz olması demektir.
  • Birbirinden bağımsız önbelleklenen birkaç küçük dosya gönderin.
  • Alan adlarına bölmeyin — bu, daha fazla koşut bağlantı elde etmenin bir yoluydu; şimdiyse her biri fazladan bir el sıkışmaya mal olur.
  • Yalnızca ilk boyamanın gerçekten gereksindiğini sayfaya gömün.

HTTP/3

listen 443 quic reuseport;
add_header Alt-Svc 'h3=":443"; ma=86400';

HTTP/3, UDP üzerinde çalışır. Asıl kazancı güvenilmez ağlardadır — özellikle mobilde — çünkü orada kaybolan tek bir paket artık bağlantıdaki her şeyi durdurmaz.

Hangisini sunduğunuzu denetleyin

curl -sI --http2 https://yourdomain.com | head -1
curl -sI --http3 https://yourdomain.com | head -1
İkisi de yavaş bir sayfayı hızlandırmaz. İlk bayta kadar geçen süre 900 ms ise sorun protokol değildir ve HTTP/3'e geçmek hissedeceğiniz hiçbir şeyi değiştirmez.