Durum bilgisi olmayan protokol ve durum bilgisi protokolü nasıl anlaşılır? HTTP durum bilgisi olmayan bir protokoldür ve FTP durum bilgisi olan bir protokoldür. Çok sayıda etkileşime ihtiyaç duyan web uygulamaları için, temel protokol durum bilgisi olanları olmalıdır. Anlayışım doğru mu?
Bir Web uygulaması hakkında soru sorduğunuzdan, protokol her zaman vatansız olacaktır - Web protokolü http (veya https) 'dir ve hepsi bu yazmıştır.
Bence düşündüğünüz şey, Web uygulamanızın kendisinde bir devlet mekanizması sağlamaktır. Bunun tipik yaklaşımı, Web uygulamanızdaki kullanıcı oturumu için benzersiz bir tanımlayıcı oluşturmanızdır (bir formun bir oturumu veya genel uygulamadır) ve bunlar tarayıcı ve sunucu arasında ileri ve geri iletilir. Bu, genellikle bir çerezde yapılır, ancak bununla birlikte, platformunuza / çerçevenize bağlı olarak sizin için biraz daha fazla güçlükle, URL'de de yapılabilir.
Sunucu tarafı kodunuz, durum bilgisini (genellikle, kullanıcının oturumu olarak adlandırılır) depolar, ancak bakmak için oturum kimliğini kullanmak ister. Http trafiği sadece oturum kimliğini geri verir. Bu tanımlayıcı olduğu sürece, her bir http işlemi diğerlerinden tamamen bağımsızdır, dolayısıyla protokol trafiğinin kendisi vatansızdır.
HTTP, vatansız bir protokoldür, diğer bir deyişle sunucu, istemci / tarayıcı durumuyla ilgili her şeyi unutacaktır. Web uygulamaları yapmış olsa da, neredeyse durumsal görünmektedir.
Durum bilgisi olmayan bir protokol, durum bilgisine sahipmiş gibi davranmaya zorlanabilir. Bu, sunucu istemciye durumu gönderirse ve istemci her seferinde tekrar sunucuya geri gönderirse yapılabilir.
HTTP’de başarılabilecek üç yol vardır:
a) Biri çerezdir, bu durumda durum HTTP başlıklarına gönderilir ve gönderilir.
b) İkincisi, URL uzantısıdır, bu durumda durum, URL'nin bir parçası olarak yanıt olarak gönderilir.
c) Üçüncüsü, devletin istemciye yanıtın bir parçası olarak gönderildiği ve formun gizli verilerinin bir parçası olarak sunucuya döndüğü "gizli form alanları" dır.
KABUL EDİLEBİLİRLİK VE YÜKSEK KULLANILABİLİRLİK
HTTP'nin bu kadar iyi ölçeklendirmesinin en önemli nedenlerinden biri Vatansızlığıdır. Durum bilgisi olmayan protokol, çoğaltma endişelerini kolaylaştırır, çünkü devletin sunucuda depolanması gerekmez.
Durum bilgisi olan protokoller, güvenilir bir şekilde İnternet'te uygulamak için mantıksal olarak ağırdır. Durum bilgisi olmayan sunucular için, skeçsiz sunucular da kolayca ölçeklenebilirken, skalablite problemlidir. Durum bilgisi olmayan bir durum söz konusu olduğunda, vatansız talep herhangi bir zamanda herhangi bir düğüme gönderilebilir.
Durum bilgisi olmayan protokol olarak HTTP, vatansız web uygulamaları için kullanılabilirliği artırır, aksi takdirde uygulanması zor veya imkansızdır. Kayıp bağlantısı varsa, kaybedilen bir durum yoktur, basit istek yeniden gönderilirse sorun giderilir. Durumsuz talepler de önbelleklenebilir.
daha fazlasını gör
http, vatansız bir protokoldür. web tabanlı uygulamalar vatansız. Sunucuya bir istek gönderildiğinde, istemci ve sunucu arasında bir bağlantı kurulduğunda, sunucu isteği alacak, isteği işleyecek ve cevabı geri gönderecektir, ve bağlantı kapatılacaktır. başka bir istek gönderilirse, yeni bir talep olarak ele alınır ve yeni bağlantı kurulur.
http devletli yapmak için. oturum yönetimi tekniklerini kullanıyoruz.
Böylece, mevcut request.i.e işlenirken önceki isteklerden gelen verileri kullanır, bir dizi istemci sunucu etkileşimi için aynı bağlantıyı kullanır.
oturum yönetimi teknikleri şunlardır:
1. yasak form alanı
2.cookie
3.session
4.url-yeniden;
Sorunuz açık ve evet, bankanızla yaptığınız web işlemlerinin durumsal bir bağlantı üzerinden yapılması harika olurdu. Ne yazık ki, HTTP FTP'deki ilginç bir hata ve BSD'nin kısmi soket tablosundaki 12 soket sınırından dolayı vatansız. Marcus Ranum her şeyi açıkladı. İşte.
HTTP, TCP'den devraldığı durumu atar ve uygulama katmanında tanımlama bilgisi biçiminde durumu yeniden oluşturmalıdır. Crappy internet güvenliği sonucudur.
Seif projesi "TCP üzerinden güvenli JSON" kullanarak tüm bunları düzeltmeyi öneriyor. DNS ve sertifika yetkilileri gerekli değildir. Protokol ve seifnode.js bitti ve bir MIT lisansı ile github üzerinde.
HTTP, TCP'den "devralmaz", ancak bir aktarım için kullanır. HTTP, durum bilgisi olan bir bağlantı için TCP kullanır, ancak bağlantıyı keser. Daha sonra gerekirse, tekrar bağlanacaktır. Yani, bir web sitesine göz atarken çok farklı bağlantılar yaratırsınız. Bu bağlantıların her biri durum bilgisi taşıyor, ancak bir bütün olarak konuşma, her konuşma ile bağlantıyı bıraktığınız için değil.
Bu bağlantıdan
Temel olarak evet, ancak başka seçeneğiniz yok, ancak web sitelerinin sunulduğu HTTP'yi kullanın. Bu yüzden, HTTP durum bilgisi olan, oturumun yönetimini yönetmek için uzlaşmalarla uğraşmanız gerekiyor. Olasılıklar temel olarak URL'deki her çağrıyla bir oturum kimliğinden geçirilir. Böylece, daha önce konuştuğunuz biriyle konuştuğunuzda ya da URL'yi dağıtmayan aynı hedefe ulaşan çerezlerle konuşursunuz. Bununla birlikte, çoğu modern web geliştirme dili sizin için bununla ilgilenir; Seçtiğiniz dilin + "oturum yönetimi" için Google’ı kullanırsanız, nasıl yapıldığına dair fikir edinmeniz gerekir.