Hata durumunda sayfa göstermek mi, yönlendirmek mi daha doğru?
Kısa cevap
Çoğu durumda sayfa göstermek daha doğrudur. Show Content for Traffic Manager Errors ve Show Content for Backend Service Errors aksiyonları seçilen Status Code değerini (ör. 503) döndürür, adres çubuğu değişmez ve sorun düzelince kullanıcı sayfayı yenileyerek siteye döner; sayfa TR7'den sunulduğu için başka bir sunucuya bağımlılık yoktur. Redirect for Traffic Manager Errors ve Redirect for Backend Service Errors 302 döner, hata kodunu gizler ve hedef adresin ayakta olmasını gerektirir; TR7 dışında barındırılan bir durum sitesi ya da bulunamayan sayfaları arama sayfasına göndermek gerektiğinde seçilir.
Nasıl Çalışır?
- İstek hataya düşer: ya TR7 yanıt üretmek zorunda kalır (Kurum Servisine ulaşılamaz, zaman aşımı) ya da Kurum Servisi bir hata kodu döndürür.
- Sayfa gösterilirse: TR7 aynı istek içinde içerik sayfasını seçilen durum koduyla döndürür; istemci tek yanıt alır ve adres değişmez.
- Yönlendirilirse: TR7
302veLocationbaşlığı döndürür; tarayıcı hedef adrese yeni bir istek yapar. Hedefin yanıtı (çoğunlukla200) kullanıcının gördüğü sonuçtur.
Karşılaştırma
| Sayfa göstermek | Yönlendirmek | |
|---|---|---|
| Durum kodu | Status code alanında seçilir (varsayılan 200; uygun kod seçilmelidir) | 302; ardından hedef sayfanın kodu |
| Adres çubuğu | Aynı adres kalır | Hedef adrese geçer |
| Sorun düzelince | Kullanıcı sayfayı yenileyerek siteye döner | Kullanıcı hedef adreste kalır |
| Bağımlılık | Yok; sayfa TR7'den sunulur | Hedef adres erişilebilir olmalı |
| İzleme araçları ve arama motorları | Hata kodu görülür, geçici durum anlaşılır | Asıl hata kodu kaybolur |
| POST istekleri | Etkilenmez | Tarayıcı hedefe GET ile gider |
| API istemcileri | Content type application/json olan bir sayfa döndürülebilir | Yönlendirme istemcinin beklediği yanıtı bozar |
| Dinamik hedef | - | Redirect for Backend Service Errors'ta Redirect location alanı Smart Variable ile bulunamayan yolu hedefe ekleyebilir |
| Sayfa boyutu | vService'in Buffer Size(kB) değerinin 2 kB eksiğini aşamaz (varsayılan 128 kB) | Hedef sayfa istenen boyutta olabilir |
TR7'de Hata Sayfası ve Hata Yönlendirmesi
Dört aksiyon da Load Balancer → Actions → Add ile tanımlanır, koşul almaz ve vService'in Actions alanına eklenince yalnızca Error Codes listesinde seçilen kodlarda devreye girer. Yalnızca HTTP vService'te çalışırlar.
| Hatanın kaynağı | Sayfa göstermek | Yönlendirmek | Kurulum |
|---|---|---|---|
| TR7 (Kurum Servisine ulaşılamaz, zaman aşımı) | Show Content for Traffic Manager Errors | Redirect for Traffic Manager Errors | TR7'nin kendi ürettiği 503/502/504 hataları için özel sayfa gösterebilir miyim? |
| Kurum Servisi (404, 500…) | Show Content for Backend Service Errors | Redirect for Backend Service Errors | Backend 404 veya 500 döndüğünde özel bir hata sayfası gösterebilir miyim? |
Sayfalar Content Pages profilinde hazırlanır (Content Pages profili nedir; kendi HTML sayfamı nasıl hazırlarım?).
Ne Zaman Hangisi?
- Sayfa göstermek: Bakım ve kesinti sayfaları, API'ler, izleme araçlarının hatayı görmesi gereken durumlar.
- Yönlendirmek: Kesinti bilgisinin TR7 dışında barındırılan bir durum sitesinde verildiği ya da bulunamayan sayfaların arama sayfasına gönderildiği durumlar.
Sık Karıştırılan Noktalar
- "Yönlendirme arama motorları için daha iyidir." İstemci 302 ve ardından hedefin 200 yanıtını alır; asıl hata kodu kaybolur ve hata sayfası içerik gibi değerlendirilebilir.
- "Sayfa göstermek her zaman doğru kodu döner." Status code varsayılan olarak 200'dür; uygun kod ayrıca seçilmelidir.
- "Hedef adres aynı vService'te olabilir." Hedef de aynı hatayı verirse kullanıcı döngüye girer; hedef TR7 dışında ya da başka bir vService'te barındırılır.
- "Büyük, görselli bir sayfa TR7'den sorunsuz sunulur." Sayfa tampon boyutuna sığmalıdır; görseller küçük tutulur ya da dış bir adresten çekilir.
Dokümantasyonda nasıl yapılır
