ASGI açıkladı: Python web geliştirmenin geleceği

[ad_1]

Python web uygulamaları uzun süredir Web Sunucusu Ağ Geçidi Arayüzü (WSGI) standart, web sunucularıyla nasıl konuştuklarını açıklar. İlk olarak 2003’te tanıtılan ve 2010’da güncellenen WSGI, yalnızca Python’da 2.2 sürümünden itibaren yerel olarak bulunan ve uygulanması kolay özelliklere dayanır. Sonuç olarak, WSGI tüm büyük Python web çerçeveleriyle hızlı bir şekilde ilgilendi ve Python’da web geliştirmenin temel taşı haline geldi.

2022’ye hızlı ileri. Python 2 artık eskidi (en sonunda) ve Python artık ağ çağrıları gibi eşzamansız işlemleri işlemek için yerel sözdizimine sahip. WSGI ve varsayılan olarak eşzamanlı davranışları varsayan diğer standartlar, zaman uyumsuzluğunun performans ve verimlilik kazanımlarından yararlanamaz. Bu da WSGI’nin WebSocket gibi gelişmiş protokolleri etkin bir şekilde işleyemeyeceği anlamına gelir.

ASGI’yi girin, Asenkron Sunucu Ağ Geçidi Arayüzü. WSGI gibi ASGI, bir Python web uygulaması ile web sunucusu arasında ortak bir arabirim tanımlar. WSGI’den farklı olarak ASGI, uygulama başına birden çok eşzamansız olaya izin verir. Ayrıca ASGI, hem senkronizasyon hem de zaman uyumsuz uygulamaları destekler. Eski, eşzamanlı WSGI web uygulamalarınızı ASGI’ye geçirebilir ve yeni, eşzamansız web uygulamaları oluşturmak için ASGI’yi kullanabilirsiniz.

WSGI nasıl çalışır?

WSGI, tipik olarak adlandırılmış bir Python işlevini açığa çıkararak çalışır. application veya app, web sunucusuna. Bu fonksiyon iki parametre alır:

  • environ: Mevcut istek hakkında bilgi içeren bir sözlük ve Ortam Değişkenleri web sunucusu tarafından sağlanır.
  • start_response: İstemciye bir HTTP yanıtı göndermeyi başlatmak için kullanılacak bir işlev.

İşlev tarafından döndürülen veriler yanıt gövdesini oluşturur.

Basit application işlev şöyle görünebilir:

Telif Hakkı © 2022 IDG Communications, Inc.

[ad_2]
Kaynak : https://www.infoworld.com/article/3658336/asgi-explained-the-future-of-python-web-development.html#tk.rss_all

Yorum yapın

SMM Panel PDF Kitap indir