Request Size (bytes)
Request Size (bytes) Koşulu Nedir?
Request Size (bytes) koşulu, HTTP isteğinin TR7'ye ulaşan ilk bölümünün bayt uzunluğunu değerlendirerek trafik yönlendirme ve manipülasyon kararları almak için kullanılan bir koşul tipidir.
Ölçülen değer, isteğin TR7'ye ulaşan ilk bölümünün bayt uzunluğudur: başlık bloğu ve o ana kadar tampona alınan gövde kısmı. İstek gövdesi bütünüyle tamponlanmadığı için koşul, büyük gövdelerin toplam boyutunu görmez ve Content-Length başlığını okumaz.
Bu koşul, büyük istekleri tespit etmek ve özel işlemlere tabi tutmak için kullanılır.
WARNING
Boyut, istek anında ölçülür; koşul yanıt aşamasındaki kurallarda da seçilebilir ve aynı değer üzerinden değerlendirilir.
Request Size (bytes) Koşulunun Önemi
İstek boyutu kontrolü, kaynak yönetimi, güvenlik ve performans optimizasyonu için kritik öneme sahiptir.
Request Size (bytes) koşulu sayesinde;
- Olağan dışı büyük başlık bloğu taşıyan istekler engellenerek kaynak tüketimi önlenebilir,
- Tampona alınan içeriği belirli bir boyutu aşan istekler ayrıştırılabilir,
- Büyük istekler farklı Kurum Servislerine yönlendirilebilir,
- Bant genişliği yönetimi yapılabilir,
- Rate limiting için ek kriter olarak kullanılabilir.
Request Size (bytes) vs Response Size (bytes):
| Kriter | Request Size (bytes) | Response Size (bytes) |
|---|---|---|
| Yön | İstemci → Sunucu | Sunucu → İstemci |
| Ölçülen | Başlık bloğu + tampondaki gövde kısmı | Yalnız yanıt gövdesi (başlıklar hariç) |
| Değerlendirme | Request aşaması | Response aşaması |
Kullanılabildiği vService Tipleri
Nasıl Eklenir?
Yeni bir Request Size (bytes) Koşulu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Conditions → Add adımları takip edilir.
- Criteria olarak Request size (bytes) seçilir.
- Koşula ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak koşul eklenir.
Request Size (bytes) Koşulu Ekleme Formu
Request Size (bytes) Koşulu Ekleme Formu
INFO
Condition Name
Oluşturulacak koşul için isteğe bağlı bir isim girilebilir.
Bu alan, özellikle aşağıdaki senaryolarda önemlidir:
- Aynı vService altında çok sayıda koşul tanımlandığında,
- Benzer kriterlere sahip koşulların ayırt edilmesi gerektiğinde,
- Koşulun hangi iş kuralını temsil ettiğinin hızlıca anlaşılması istendiğinde.
Bu alan boş bırakıldığında, TR7 ilgili koşulun içeriğini analiz ederek Condition Description alanında otomatik ve açıklayıcı bir isim oluşturur. Oluşturulan bu açıklama, koşul listelerinde isim olarak kullanılır.
INFO
Criteria Zorunlu
Koşulun tipini belirleyen alandır; aranabilir açılır listeden Request size (bytes) seçilir. Bu seçim, formda görüntülenecek alanları belirler. Kriter, koşul kaydedildikten sonra değiştirilemez: farklı bir kritere ihtiyaç duyulursa yeni bir koşul tanımlanır. Listedeki tüm kriterler ve kapsamları için Conditions sayfasındaki kriter kataloğuna bakılabilir.
INFO
Operator
Sayısal karşılaştırma operatörü ve değeri girilir.
| Operatör | Sembol | Açıklama |
|---|---|---|
| Less than | < | Değer küçük olmalı |
| Equals to | = | Değer tam olarak eşleşmeli |
| Greater than | > | Değer büyük olmalı |
| Range | - | Değer iki değer arasında olmalı |
Örnek istek boyutu karşılaştırmaları:
| Operatör | Değer | Açıklama |
|---|---|---|
> | 1048576 | 1 MB'dan büyük istekler |
< | 1024 | 1 KB'dan küçük istekler |
- | 10240-102400 | 10 KB - 100 KB arası |
< | 512 | Çok küçük (minimal başlıklı) istekler |
Yaygın boyut referansları:
| Birim | Bytes |
|---|---|
| 1 KB | 1024 |
| 10 KB | 10240 |
| 100 KB | 102400 |
| 1 MB | 1048576 |
| 10 MB | 10485760 |
| 100 MB | 104857600 |
TIP
Range (-) operatörü seçildiğinde iki değer girilir; iki sınır da aralığa dahildir. Form, operatörü Equals to (=) seçili ve değeri boş olarak açılır; girilen değer tamsayı olmalıdır. Girilen bayt değerleri, otomatik açıklamada okunabilir birimle görünür (ör. 1048576 → 1 MB).
WARNING
İsteğin tamamı tamponlanmadığı için pratikte değerlendirilebilecek üst sınır, vService'in tampon boyutuyla sınırlıdır; MB mertebesindeki eşikler çoğu kurulumda hiç eşleşmez. Eşikler, başlık bloğu + tampon kapsamında kalan gerçekçi değerlerden (KB mertebesi) seçilmelidir.
INFO
Condition Description
Girilen kriter ve değerler doğrultusunda TR7 tarafından otomatik olarak oluşturulur.
Bu açıklama;
- Koşulun hangi değer için geçerli olduğunu,
- Hangi kriter üzerinden çalıştığını,
- Listeleme ekranlarında koşulun hızlıca anlaşılmasını
sağlayacak şekilde sistem tarafından dinamik olarak üretilir.
TIP
Ölçülen istek boyutu, aksiyonlarda İstek Boyutu akıllı değişkeniyle kullanılabilir (ör. bir HTTP başlığının veya log alanının değeri olarak).
INFO
Form Butonları
Add
Add butonuna tıklanarak koşul ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile koşul ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir koşul daha eklenebilir.
Koşul Eklendi
Operasyonel Kullanım Önerileri
- Toplam Upload Boyutu için Kullanmayın. Koşul gövdenin tamamını görmediğinden büyük dosya yüklemelerini toplam boyuta göre sınırlamaz; eşiği başlık bloğu ve tampona alınan kısım üzerinden belirleyin.
- DoS Koruması. Çok büyük istekleri engelleyerek kaynak tüketimini önleyin.
- Backend Kapasitesine Göre Yönlendirme. Büyük istekleri daha güçlü Kurum Servislerine yönlendirin.
- Monitoring için Kullanın. Belirli boyut aralığındaki istekleri izleyerek kullanım pattern'lerini anlayın.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili koşulun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: Anormal Büyük İstek Engelleme
Kullanım Amacı: Olağan dışı büyük başlık bloğu/ilk bölüm taşıyan istekleri (şişirilmiş başlıklar, anormal form gönderimleri) engelleyerek kaynak tüketimini önlemek.
Konfigürasyon: Operator → Greater than (>) 16384
Aksiyon Önerileri:
- ✅ Block → Anormal büyük istekler engellenir; yanıt kodu olarak 413 Payload Too Large seçilebilir (varsayılan 403 Forbidden).
- ✅ Show Content → "İstek boyutu sınırı aşıldı" özel hata sayfası gösterilir.
Senaryo 2: Büyük Dosya Upload Bandwidth Limitation
Kullanım Amacı: Büyük form/upload girişlerine bandwidth sınırlaması uygulamak ve network kaynaklarını korumak.
Konfigürasyon: Operator → Range (-) 8192-16384 (üstü Senaryo 1'deki engellemeye devreder)
Aksiyon Önerileri:
- ✅ Bandwidth Limitation → Upload speed 5 Mbps ile sınırlandırılır, network congestion önlenir.
Senaryo 3: Form Submit Boyut Validasyonu
Kullanım Amacı: Form gönderimlerini boyut aralığına göre tespit etmek ve validasyon uygulamak.
Konfigürasyon: Operator → Range (-) 1024-8192
Aksiyon Önerileri:
- ✅ Add HTTP Header →
X-Form-Submit: trueveContent-Length-Valid: trueheader'ları eklenir. - ✅ Manage HTTP Security Headers →
X-Content-Type-Options: nosniffheader eklenir, form güvenliği artırılır.
Senaryo 4: Çok Küçük İstek Tespiti
Kullanım Amacı: Minimal başlıkla gelen, olağan tarayıcı trafiğinden küçük istekleri (basit otomasyon istemcileri, sağlık kontrolleri) işaretlemek. Gövdesiz bir GET isteği bile başlıklar nedeniyle 0 bayt olmaz; bu nedenle "boş istek" için = 0 yerine düşük bir eşik kullanılır.
Konfigürasyon: Operator → Less than (<) 512
Aksiyon Önerileri:
- ✅ Add HTTP Header →
X-Minimal-Request: truebaşlığı eklenir; Kurum Servisi bu trafiği ayrıştırır. - ✅ Advanced Traffic Inspection → Minimal istek profili ve kaynak dağılımı raporlanır.
