HTTP için durum kodları aşağıdaki gibidir :
-
1xx : Bilgi Amaçlı
-
100 Continue : İstek başarılı alındığı ve devam edilebileceği belirtilir
-
101 Switching Protocols : Sunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir
-
2xx : Başarılı
-
200 OK : İstek başarılı alınmış ve cevap başarılı verilmiştir
-
201 Created : İstek başarılı olmuş ve sunucuda yeni bir kaynak yaratılmıştır
-
202 Accepted : Sunucu isteği kabul etti ancak henüz işlemedi
-
203 Non-Authoritative Information : Sunucu isteği başarılı işledi, ancak başka kaynakta olabilecek bilgi döndürmektedir
-
204 No Content : İstek başarılı alınmış ancak geri içerik döndürülmemektedir
-
205 Reset Content : İstek başarılı alınmış ancak geri içerik döndürülmemektedir. Ancak içerik temizlenecektir (örneğin bir web formunda doldurulan bilgiler)
-
206 Partial Content : GET için kısmi içerik (içeriğin bir belirli bir parçası) başarılıyla döndürülmüştür
-
3xx : Yönlendirme
-
300 Multiple Choices : Sunucuda isteğe göre birden fazla seçenek olduğunu bildirir. Sunucu seçeneği kendisi seçebilir veya seçenek listesini görüntüleyebilir
-
301 Moved Permanently : Bir kaynağın (veya sayfanın) kalıcı olarak başka bir yere taşındığını bildirir ve o yere yönlendirme sağlar
-
302 Found (HTTP 1.0) – Moved Temporarily (HTTP 1.1) : Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir. Kaynağın ana adresi değişmemiştir
-
303 See Other : Farklı bir kayanağa GET yapılması gerektiğini belirtir
-
304 Not Modified : İstenilen kaynakta daha önce yapılan istekten beri herhangi bir değişikliğin olmadı belirtilir ve içerik gönderilmez
-
305 Use Proxy : Sunucu tarafından döndürülen proxy'in kullanılması gerektiği belirtilir
-
306 Switch Proxy : Bu durum kodu artık kullanılmıyor
-
307 Temporary Redirect : Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir.
-
4xx: Client Hatası
-
400 Bad Request : İstek hatalı (isteğin yapısı hatalı) olduğu belirtilir
-
401 Unauthorized : İstek için kimlik doğrulaması gerekiyor
-
402 Payment Required : Ödeme gerekiyor. (gelecekte kullanılması için ayrılmıştır)
-
403 Forbidden : Kaynağın yasaklandığını belirtir
-
404 Not Found : İstek yapılan kaynağın (veya sayfanın) bulunamadığını belirtir
-
405 Method Not Allowed : Sunucu , HTTP Method'u kabul etmiyor
-
406 Not Acceptable : İstemcinin Accept header'ında verilen özellik karşılanamıyor
-
407 Proxy Authentication Required : Proxy üzerinden yetkilendirme gerekir
-
408 Request Timeout : İstek zaman aşımına uğradı (belirli bir sürede istek tamamlanamadı)
-
409 Conflict : İstek içinde çelişki var
-
410 Gone : Kaynak artık yok
-
411 Length Required : İstekte "Content-Length" (içeriğin boyutu) belirtilmemiş
-
412 Precondition Failed : Sunucu istekte belirtilen bazı önkoşulları karşılamıyor
-
413 Request Entity Too Large : İsteğin boyutu çok büyük olduğu için işlenemedi
-
414 Request-URI Too Long : URI (URL) fazla büyük
-
415 Unsupported Media Type : İstenilen kaynak istenilen medya tipinin desteklemeiyor
-
416 Requested Range Not Satisfiable : İstek yapılan parça (bir dosyanın bir parçası vb..) sunucu tarafından verilebiliyor veya uygun değil
-
417 Expectation Failed : Sunucu "Expect" ile istenileni desteklemiyor veya yerine getiremiyor
-
5xx: Sunucu Hatası
-
500 Internal Server Error : Sunucuda bir hata oluştu ve istek karşılanamadı
-
501 Not Implemented : Sunucu istenilen isteği yerine getirecek şekilde yapılandırılmamıştır
-
502 Bad Gateway : Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) cevap alamıyor
-
503 Service Unavailable : Sunucu şu anda hizmet vermiyor (kapalı veya erişilemiyor)
-
504 Gateway Timeout : Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) belirli bir zaman içinde cevap alamadı
-
505 HTTP Version Not Supported : HTTP Protokol versiyonu desteklenmiyor
Kaynak: http://www.fibiler.com/Bilim-ve-Teknoloji_Uygulamali-Bilimler-ve-Teknoloji_Bilgisayar-ve-Iletisim_Ag-Internet_HTTP-Protokolu_HTTP-Durum-Kodlari-Status-Codes_HTTP-Durum-Kodlari-HTTP-Status-Codes_Veri_12827
SSL’in açılımı Secure Sockets Layer yani güvenli soket katmanıdır. TLS ise Transport Layer Security yani taşıma katmanı güvenliğidir. Bu yazıda SSL ile TLS arasındaki farkları inceleyeceğiz.
TLS aslında SSL’in yeni adıdır. SSL protokolünün son versiyonu 3.0 idi ve TLS 1.0 aslında SSL 3.1 olarak kabul edilir. TLS’nin şu anki versiyonları TLS 1.1 ve TLS 1.2’dir. Her yeni versiyonda yeni özellikler eklenir ve bazı iç detaylar modifiye edilir. Bazen SSL/TLS olarak da adlandırılır.
SSL (TLS) rastgele ikili veri için iki host arasında güvenli ve çift yönlü bir tünel inşa eder.
Güvenlik noktasında hem TLS hem de SSL hemen hemen eşit seviyede güvenlik sunar. Bu noktadaki tek fark SSL bağlantıları güvenlik ile başlar ve doğrudan güvenli iletişime geçer, TLS bağlantıları ise sunucuya gönderilen güvenli olmayan bir “merhaba” mesajı ile başlar ve istemci ile sunucu arasındaki handshake (el sıkışma) gerçekleştikten sonra güvenli bağlantı kurulur. Eğer TLS el sıkışması gerçekleşemezse bağlantı asla kurulmaz.
SSL ile TLS Arasındaki Fark
SSL ile TLS arasındaki fark özetlenecek olursa; hem SSL hem de TLS istemci ve sunucu arasında güvenli bir bağlantı kurar. Aşağıda bazı temel farklılıkları inceleyeceğiz.
-
Sertifika uyarı mesajı: Eğer istemcinin herhangi bir sertifikası yoksa TLS protokolü içinde “Sertifika Yok” mesajı geçebilir. SSL’de ise eğer istemcinin herhangi bir sertifikası yok ise ayrıca bir bilgilendirme mesajı geçmeye gerek yoktur.
-
Mesaj doğrulama: TLS pek çok uygulamasında MAC (H-MAC) kullanırken; SSL MD5 ve SHA kullanır. H-MAC kullanmanın faydası herhangi bir hash fonksiyonuyla yönetilebilir olmasıdır.
-
Anahtar (key) üretimi: TLS HMAC ve PRF standartlarını kullanır ve bu standartlara göre anahtar (key) üretir. SSL ise RSA, Diffie-Hellman veya Fortezza/DMS kullanarak anahtar materyali üretir.
-
Sertifika doğrulama mesajı: TLS’de sertifika doğrulama mesajı handshake (el sıkma) mesajının içindedir ve oturum açıldığında zaten değiş tokuş edilir. SSL’de ise sertifika doğrulama mesajı zorlu bir süreçten geçer.
-
Bitti mesajı: TLS’de PRF çıktısıyla birlikte istemci ve sunucudan gelen “bitti” mesajlarıyla “bitti mesajı” oluşturulur. SSL’de ise anahtar üretimine benzer konseptte “bitti mesajı” oluşturulur.
Kaynak: https://limenya.com/ssl-ile-tls-arasindaki-fark/
Windows Communication Foundation WCF, servis-yönelimli mimariyi temel alarak dağıtık-uygulamalar geliştirmek için kullanılan, dağıtık mimari modelleri ve teknolojileri tek çatı altında birleştiren ve içerisinde bir çok hazır bileşen barındıran bir Framework API‘sidir. (Bknz. Service Oriented Architecture)
Ayrıca WCF mimarisi, .NET Remoting, XML Web Servisleri, Web Service Enhancements (WSE), Enterprise Services/COM+ ve Microsoft Message Queue(MSMQ) gibi bir çok dağıtık uygulama geliştirme modelinin tek bir programlama modeli içerisinde geliştiriciye sunmaktadır.
Kaynak: http://www.kazimcesur.com/wcf/
<serviceBehaviors>
<behavior name="<name>">
<!-- Other options would go here -->
<useRequestHeadersForMetadataAddress>
<defaultPorts> <!-- Use your own port numbers -->
<add scheme="http" port="81" />
<add scheme="https" port="444" />
</defaultPorts>
</useRequestHeadersForMetadataAddress>
</behavior>
</serviceBehaviors>
Kaynak: https://stackoverflow.com/questions/5007270/how-to-change-wsdl-url-from-internal-machine-name-to-public?answertab=votes#tab-top
Sayfamıza bir UpdatePanel eklediğimizde otomatikman bir alt render motoru eklemiş oluruz. Yani o updatepane içeriği sayfanın geri kalanından bağımsız olarak sunucuya gidip gelmeye başlıyordu. Bunun ingilizcedeki karşılığı “partial-page rendering”. Başka bir deyişle aynı sayfa içinde çalışan, ama birbirinden bağımsız olarak sunucuya gidip gelen sayfa bölümleri de diyebiliriz. Ve sayfamıza ne kadar UpdatePanel eklersek o kadar çok birbirinden bağımsız render motoru (partial-page rendering) eklemiş oluruz.
Peki sayfa içindeki render motorlarını kim organize ediyor? Bunu yapan Ms Ajax Libary içinde bulunan ve ScriptManager in bir parçası olan PageRequestManager sınıfıdır.
PageRequestManager ile neler yapabilriz?
devamını oku…