Blog

C# kullanarak App Service’e HTTP 2.0 isteği göndermek

Azure App Service epeydir HTTP 2.0’ı destekliyor. HTTP/1.1’in ise en büyük ilerlemesi, art arda birden fazla isteğe hizmet vermek için kalıcı bağlantıların kullanılmasıydı. HTTP/2’de, birden fazla eş zamanlı isteğe hizmet vermek için kalıcı bir bağlantı kullanılabilir zaten v1 eskimeye başlamişti hadi hep beraber app service HTTP2 isteği nasil atacağimizi öğrenelim

ilk aşama App Serviceden HTTP2 desteğini açmak olacak

Go to > App Service > Configuration > Enable HTTP 2.0  

ikinci aşama ise ihtiyacimiza göre (.net core kullaniyorum) .net core application consolda bir uygulama yazmak web request atacak basit bi application yazacağim

var client = new HttpClient() { BaseAddress = new Uri("https://<>.azurewebsites.net") };


Console.WriteLine("Sending HTTP 2.0 Request.");

// HTTP/2 request
using (var request = new HttpRequestMessage(HttpMethod.Get, "/") { Version = new Version(2, 0) })
using (var response = await client.SendAsync(request))
Console.WriteLine(response);

Burda http sınıfını default olarak ayarlaya bileceğimiz DefaultRequestVersion özelliğini görüyorsunuz

var SecondRequest = new HttpClient()

{
BaseAddress = new Uri("https://<>.azurewebsites.net"),
DefaultRequestVersion = new Version(2, 0)
};

// HTTP/2 is default
using (var response = await SecondRequest.GetAsync("/"))
Console.WriteLine(response);

Kodu execute ettiğimizde (çalıştırdığımızda) aşağidaki gibi cevap dönemesi gerekiyor

Bu sayede HTTP/2 isteklerini Azure Application Service’te nasıl etkinleştireceğimizi ve nasıl istek atacağımızı gördük. Ancak yazılımcı arkadaşlar, maalesef eski alışkanlıklarını bırakamıyor ve hala HTTP/1.1’den devam ederek performans bekliyorlar. HTTP/2 trafiği genellikle bu tür performans ve trafik sorunlarının sebebini bulmakta zorlanan yazılımcılar için büyük bir rahatlama sağlar.

Genellikle bu tür durumlar, DevOps ekibinin ve middleware ekibinin müdahale ettiği noktalardır. İlk başta her şeyin yolunda olduğunu söylerler, ancak IT ekibi devreye girer. Buradaki IT ekibi, klasik IT uzmanlarından farklıdır tabii ki. HTTP isteklerine baktıklarında aşırı isteklerin geldiğini ve sistemlerin buna cevap veremediğini fark ederler.

Daha sonra yazılımcı arkadaşlarla küçük bir sohbet yaparlar ve HTTP isteklerini nasıl ve ne şekilde yaptıklarını konuşurlar. Sonra, neden hala HTTP/2 kullanmadıklarını sorarlar. Yazılımcı arkadaşlar şaşkınlıkla “aaa, öyle bir versiyon mu var?” diye sorarlar. Ancak HTTP/2’nin tek bir oturumda yüzbinlerce istek atabildiğini öğrenince, herkes mutlu bir sona kavuşur.

bununla ilgili kaynak olarak başvurabileceğimiz yine micoroft learn tarafinda çok faydali bilgi ve belgeler bulunmaktadır.

Ercan KURT

Uzun yılların birikimiyle sistem, network ve DevOps alanlarında derinlemesine uzmanlaştım. Aynı zamanda MCT olarak eğitmenlik yaparak, bilgi ve deneyimimi bir araya getirerek yeni nesil genç profesyonellerin yetişmesine katkı sağlıyorum.
ve Bunu tamamen kar amaci gütmeden gönüllü yapıyorum. Hep birlikte beyin göçünü engelleyelim istiyorum.
Yetkinliklerim :
Microsoft Certified: Azure Administrator Associate
Microsoft Certified: DevOps Engineer Expert
Microsoft Certified: Azure Solutions Architect Expert
Microsoft Certified: Trainer 2022-2024
Cisco Certified: Network Associate (CCNA) 

İlgili Makaleler

Bir Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu