ALPN Nedir? HTTP/2 ve HTTP/3 Bağlantılarında Nasıl Çalışır?

Modern web sitelerinde tarayıcı ile sunucu arasındaki iletişim yalnızca HTTP protokolünden oluşmaz. TLS, TCP, QUIC ve HTTP sürümleri de bağlantının nasıl kurulacağını belirler. ALPN nedir sorusu ise özellikle HTTP/2 ve HTTP/3 kullanan modern web altyapılarında karşımıza çıkar.
ALPN, Application-Layer Protocol Negotiation ifadesinin kısaltmasıdır. TLS bağlantısı sırasında istemci ile sunucunun hangi uygulama protokolünü kullanacağını belirlemesine yardımcı olur.
Örneğin bir web sunucusu aynı anda HTTP/1.1, HTTP/2 ve HTTP/3 destekleyebilir. İstemci de desteklediği protokolleri bağlantı sırasında bildirir ve sunucu uygun protokolü seçer.
💡 İpucu: ALPN’yi basitçe “istemci ile sunucunun hangi uygulama protokolüyle konuşacağına karar vermesine yardımcı olan mekanizma” olarak düşünebilirsin.
ALPN Nedir ve Ne İşe Yarar?
ALPN nedir sorusunun en kısa cevabı, TLS bağlantısı sırasında uygulama protokolünün belirlenmesine yardımcı olan mekanizmadır.
Bir tarayıcı sunucuya bağlanırken desteklediği protokolleri bildirebilir:
h2
http/1.1Sunucu da desteklediği seçenekler arasından uygun olanı seçer.
Örneğin istemci h2 ve http/1.1 destekliyor, sunucu da h2 destekliyorsa bağlantı HTTP/2 üzerinden devam edebilir.
Buradaki önemli nokta, ALPN’nin HTTP/2 veya HTTP/3’ün kendisi olmadığıdır. ALPN, hangi uygulama protokolünün kullanılacağının müzakere edilmesine yardımcı olur.
ALPN Nasıl Çalışır?
ALPN’nin çalışma mantığını birkaç adımda inceleyebiliriz.
İstemci desteklediği protokolleri bildirir
TLS bağlantısı başlatılırken istemci desteklediği uygulama protokollerini sunucuya iletir.
Basitleştirilmiş olarak:
ClientHello
ALPN:
h2
http/1.1şeklinde düşünülebilir.
Sunucu uygun protokolü seçer
Sunucu istemcinin sunduğu protokoller içerisinden kendi desteklediği uygun seçeneği belirler.
Örneğin:
İstemci:
h2
http/1.1
Sunucu:
h2Bu durumda bağlantı HTTP/2 üzerinden devam eder.
Seçilen protokol ile iletişim devam eder
Müzakere tamamlandıktan sonra istemci ve sunucu seçilen uygulama protokolünü kullanır.
Bu nedenle ALPN, bağlantının başlangıcındaki protokol seçim sürecinin önemli parçalarından biridir.

ALPN ve TLS Arasındaki İlişki Nedir?
ALPN nedir konusunu anlamak için TLS ile ilişkisini bilmek gerekir.
ALPN, TLS handshake sırasında kullanılan bir TLS uzantısıdır. İstemci desteklediği uygulama protokollerini bildirirken sunucu uygun olan protokolü seçebilir.
Basitleştirilmiş yapı şu şekildedir:
Tarayıcı
↓
TLS Handshake
↓
ALPN
↓
Protokol seçimi
↓
HTTP/2 veya HTTP/3HTTPS bağlantısının temelini oluşturan TLS ve SSL kavramlarını daha ayrıntılı incelemek için SSL sertifikası nedir ve neden önemlidir? rehberimize göz atabilirsin.
⚠️ Dikkat: ALPN’nin kullanılması tek başına web sitesinin güvenli veya hızlı olduğu anlamına gelmez. TLS yapılandırması, web sunucusu, firewall, DNS ve sunucu kaynakları da doğru yapılandırılmalıdır.
ALPN ve HTTP/2 Nasıl Çalışır?
HTTP/2, modern web sitelerinde kullanılan HTTP protokollerinden biridir.
HTTPS üzerinden HTTP/2 kullanılırken ALPN tarafında:
h2tanımlayıcısı kullanılır.
Basitleştirilmiş bağlantı:
İstemci
↓
TLS
↓
ALPN
↓
h2
↓
HTTP/2Burada h2, HTTP/2 protokolünü belirtir.
Bu yapı sayesinde istemci ve sunucu bağlantının HTTP/2 üzerinden devam edeceğini belirleyebilir.
ALPN ve HTTP/3 Nasıl Çalışır?
ALPN nedir sorusunun özellikle önemli olduğu alanlardan biri HTTP/3’tür.
HTTP/3, QUIC taşıma protokolü üzerinde çalışır ve HTTP/3 için kullanılan ALPN tanımlayıcısı:
h3şeklindedir.
Basitleştirilmiş yapı:
Tarayıcı
↓
QUIC + TLS
↓
ALPN
↓
h3
↓
HTTP/3Burada görevler birbirinden farklıdır:
- ALPN: Uygulama protokolünün belirlenmesine yardımcı olur.
- QUIC: Taşıma altyapısını sağlar.
- HTTP/3: HTTP iletişimini QUIC üzerinden gerçekleştirir.
QUIC’in çalışma mantığını daha ayrıntılı görmek için QUIC nedir ve HTTP/3’ün temelinde nasıl çalışır? yazımıza geçebilirsin.
🔍 Teknik Not: HTTP/3 tarafında
h3, HTTP/2 tarafında iseh2ALPN tanımlayıcısı kullanılır.
HTTP/1.1, HTTP/2 ve HTTP/3 İçin ALPN Değerleri
Farklı HTTP sürümleri için kullanılan temel ALPN değerleri şöyledir:
| HTTP sürümü | ALPN değeri |
|---|---|
| HTTP/1.1 | http/1.1 |
| HTTP/2 | h2 |
| HTTP/3 | h3 |
Bu değerler HTTP protokolünün kendisi değildir. TLS içerisindeki uygulama protokolü müzakeresinde kullanılan tanımlayıcılardır.
Özellikle modern web altyapılarında h2 ve h3 değerleriyle sık sık karşılaşılır.
ALPN ile SNI Arasındaki Fark Nedir?
ALPN ve SNI aynı şey değildir.
İkisi de TLS bağlantısı sırasında karşımıza çıkabilse de görevleri farklıdır.
SNI ne işe yarar?
SNI, istemcinin hangi hostname için bağlantı kurduğunu sunucuya bildirmeye yardımcı olur.
Örneğin:
www.example.comALPN ne işe yarar?
ALPN ise kullanılacak uygulama protokolünün belirlenmesine yardımcı olur.
Örneğin:
h2veya:
h3şeklinde olabilir.
Kısaca:
SNI → Hangi alan adına bağlanıyorum?
ALPN → Hangi uygulama protokolünü kullanacağım?Bu iki kavramın karıştırılmaması özellikle birden fazla alan adı barındıran sunucularda önemlidir.
ALPN ve DNS Arasındaki İlişki Nedir?
ALPN nedir diye araştırırken DNS ile de karşılaşabilirsin. Ancak DNS ve ALPN farklı görevler üstlenir.
DNS, alan adının hangi IP adresine çözümleneceğini belirler.
ALPN ise bağlantı kurulduktan sonra kullanılacak uygulama protokolünün belirlenmesine yardımcı olur.
Genel yapı:
Alan adı
↓
DNS
↓
IP adresi
↓
TLS / QUIC
↓
ALPN
↓
HTTP/2 veya HTTP/3DNS’in çalışma mantığını ayrıntılı olarak öğrenmek için DNS nedir ve alan adı ile sunucu bağlantısı nasıl çalışır?rehberimize bakabilirsin.
DNS kayıtlarının nasıl yapılandırıldığını öğrenmek isteyenler için DNS ayarları rehberi de faydalı olacaktır.
ALPN Web Sitesini Hızlandırır mı?
ALPN nedir sorusunun cevabında önemli bir yanlış anlaşılmayı da düzeltmek gerekiyor.
ALPN tek başına bir web hızlandırma teknolojisi değildir.
Temel görevi protokol seçimidir.
Ancak HTTP/2 ve HTTP/3 gibi modern protokollerin kullanılmasına yardımcı olduğu için modern web iletişiminde önemli bir role sahiptir.
Bir web sitesinin gerçek performansı ise birçok faktöre bağlıdır:
- CPU
- RAM
- Disk
- NVMe/SSD
- Network
- Web sunucusu
- Cache
- PHP
- Veritabanı
- TLS
- DNS
Bu nedenle performans problemi yaşayan bir sunucuda yalnızca ALPN’ye odaklanmak doğru değildir.
Sunucu kaynaklarını daha kapsamlı değerlendirmek için VDS sunucuda performansın en etkili yöntemleri rehberimizi inceleyebilirsin.
ALPN ve HTTP/3 İçin UDP Neden Önemlidir?
HTTP/3, QUIC üzerinden çalıştığı için network tarafında TCP’den farklı bir yapı kullanır.
QUIC genellikle UDP üzerinden iletişim kurar.
Bu nedenle HTTP/3 bağlantısında yalnızca TLS ve ALPN’nin doğru olması yeterli olmayabilir. Network ve firewall yapılandırmasının da uygun olması gerekir.
Basitleştirilmiş yapı:
İstemci
↓
UDP 443
↓
QUIC
↓
TLS
↓
ALPN = h3
↓
HTTP/3UDP trafiğinin engellenmesi durumunda HTTP/3 bağlantısının kurulması mümkün olmayabilir ve istemci başka bir HTTP sürümüne geçebilir.
⚠️ Dikkat: UDP 443’ün kullanılması firewall’ın kapatılması gerektiği anlamına gelmez. Gerekli trafik kontrollü şekilde izinlendirilmelidir.
ALPN Kullanılıp Kullanılmadığı Nasıl Kontrol Edilir?
Bir web sitesinin HTTP/2 veya HTTP/3 kullanıp kullanmadığını tarayıcı üzerinden kontrol edebilirsin.
Safari, Chrome veya başka bir modern tarayıcıda geliştirici araçlarının Network bölümünden bağlantının kullandığı protokol incelenebilir.
HTTP/2 için:
h2HTTP/3 için:
h3gibi değerler görülebilir.
Komut satırından TLS bağlantısını test etmek için OpenSSL gibi araçlardan da yararlanılabilir.
Örneğin:
openssl s_client -connect example.com:443 -alpn h2Burada amaç sunucunun ilgili ALPN protokolünü kabul edip etmediğini kontrol etmektir.
🔍 Teknik Not: ALPN’nin desteklenmesi ile web sitesinin gerçekten HTTP/2 veya HTTP/3 üzerinden cevap vermesi aynı şey değildir. Bağlantının tamamını ayrıca kontrol etmek gerekir.
ALPN Neden HTTP/3 İçin Önemlidir?
HTTP/3 tarafında ALPN’nin temel görevi, istemci ve sunucunun HTTP/3 protokolünü kullanacağını belirlemeye yardımcı olmaktır.
Bu noktada:
ALPN = h3değeri HTTP/3 bağlantısının önemli parçalarından biridir.
Bunu QUIC ile birlikte düşündüğümüzde:
DNS
↓
IP
↓
UDP
↓
QUIC + TLS
↓
ALPN = h3
↓
HTTP/3şeklinde bir yapı ortaya çıkar.
Dolayısıyla ALPN nedir konusu yalnızca TLS ile ilgili küçük bir ayrıntı değildir. Modern HTTP/2 ve HTTP/3 altyapısını anlamak için bilinmesi gereken temel kavramlardan biridir.
ALPN Hakkında Sık Sorulan Sorular
ALPN nedir?
ALPN, TLS bağlantısı sırasında istemci ve sunucunun kullanılacak uygulama protokolünü belirlemesine yardımcı olan mekanizmadır.
ALPN Nedir neyin kısaltmasıdır?
ALPN, Application-Layer Protocol Negotiation ifadesinin kısaltmasıdır.
HTTP/2 hangi ALPN değerini kullanır?
HTTP/2 için kullanılan temel ALPN değeri h2 şeklindedir.
HTTP/3 hangi ALPN değerini kullanır?
HTTP/3 için kullanılan ALPN değeri h3 şeklindedir.
ALPN Nedir ve SNI aynı şey midir?
Hayır. SNI hedef hostname bilgisinin belirlenmesine yardımcı olurken ALPN uygulama protokolünün belirlenmesine yardımcı olur.
ALPN Nedir web sitesini hızlandırır mı?
ALPN’nin doğrudan görevi web sitesini hızlandırmak değildir. Protokol seçimine yardımcı olur. HTTP/2 ve HTTP/3 gibi modern protokollerin kullanılabilmesi ise web iletişiminin performans özelliklerini etkileyebilir.
ALPN ve QUIC arasındaki fark nedir?
QUIC taşıma katmanında kullanılan modern bir protokoldür. ALPN ise TLS bağlantısı sırasında uygulama protokolünün belirlenmesine yardımcı olur.
ALPN hangi protokollerle kullanılır?
ALPN yalnızca HTTP/2 veya HTTP/3 ile sınırlı değildir. TLS üzerinden çalışan farklı uygulama protokollerinin müzakere edilmesinde de kullanılabilir.

Sonuç: ALPN Nedir ve Neden Önemlidir?
ALPN nedir sorusunun özeti oldukça basittir: ALPN, TLS bağlantısı sırasında kullanılacak uygulama protokolünün belirlenmesine yardımcı olur.
Modern web bağlantısında bunu şöyle düşünebiliriz:
TLS
↓
ALPN
↓
h2 / h3
↓
HTTP/2 / HTTP/3HTTP/2 için h2, HTTP/3 için ise h3 kullanılır.
ALPN tek başına bir hızlandırma teknolojisi değildir. Ancak modern web sunucularında HTTP/2 ve HTTP/3 kullanımının önemli parçalarından biridir.
Özellikle TLS + ALPN + QUIC + HTTP/3 + DNS + network ilişkisini birlikte anlamak, modern web altyapısının nasıl çalıştığını kavramayı kolaylaştırır.
🚀 AydınCloud Teknik İpucu: HTTP/3 yapılandırması yaparken yalnızca “HTTP/3 açık mı?” diye kontrol etmek yerine QUIC, TLS,
h3, UDP ve network yapılandırmasını birlikte değerlendirmek daha sağlıklı sonuç verir.