Set Path ile Set Path + Query arasındaki fark nedir?
Kısa cevap
Set Path yalnızca isteğin yolunu değiştirir; özgün sorgu dizesi (?q=...) korunur. Set Path + Query yolu ve sorgu dizesini birlikte yeniden yazar; New Path Info alanına yazılan değer sorgu dizesini de belirler, özgün parametreler ancak Request Query değişkeni eklenirse korunur. İkisi de yalnızca HTTP vService'te, istek aşamasında çalışır ve istemciyi yönlendirmez; istemciyi başka adrese göndermek için Location Redirection kullanılır.
Nasıl Çalışır?
Bir istek adresi iki parçadan oluşur: yol (/search) ve sorgu dizesi (?q=laptop). İki aksiyon da isteği Kurum Servisine iletmeden önce yeniden yazar; fark, hangi parçanın New Path Info değeriyle değiştirildiğidir.
- İstek
/search?q=laptopadresiyle gelir. - Set Path çalışırsa yalnızca
/searchbölümü New Path Info değeriyle değişir;?q=laptopaynen kalır. - Set Path + Query çalışırsa
/search?q=laptopadresinin tamamı New Path Info değeriyle değişir; değerde sorgu yoksa sorgu silinir. - İstek yeni adresle Kurum Servisine gider; istemcinin adres çubuğu değişmez, Actions listesindeki sonraki aksiyonlar çalışmaya devam eder.
Karşılaştırma
| Set path | Set Path + Query | |
|---|---|---|
| Değiştirdiği | Yalnızca yol | Yol ve sorgu dizesi |
| Özgün sorgu dizesi | Korunur | Yazılan değerle değişir; değerde sorgu yoksa silinir |
| Alan | New Path Info (varsayılan /prefix + Path değişkeni) | Aynı alan ve aynı varsayılan; varsayılan değerde Request query bulunmadığından değer elle yazılırken Request query eklenmezse sorgu silinir |
| Path Operation Shortcuts | Var | Var; kısayolun ürettiği ifadenin sonuna Request query eklenir |
/search?q=laptop, değer /api/search | /api/search?q=laptop | /api/search |
/search?q=laptop, değer /api/search + Request query | - | /api/search?q=laptop |
/search?q=laptop, değer /api/search?format=json | - | /api/search?format=json (q parametresi silinir) |
| Ortak | HTTP vService, yalnızca On request, koşul isteğe bağlı, Hit counter, isteği sonlandırmaz | Aynı |
TR7'de Set Path ve Set Path + Query
- İki aksiyon da Load Balancer → Actions → Add ile Action Type listesinden seçilir; form aynıdır: New Path Info (zorunlu), Path Operation Shortcuts, Conditions, Hit Counter (varsayılan kapalı).
- Execution level alanı yoktur; ikisi de yalnızca istek aşamasında çalışır.
- Aksiyon vService'in Actions alanına eklenince devreye girer; adım adım kurulum için URL path'ini backend'e gitmeden önce yeniden yazabilir miyim (rewrite)?
- Path ve Path + Query koşulları ile HTTP Logs adresin yeniden yazılmadan önceki hâlini görür; yeni adres Kurum Servisinin logunda doğrulanır.
Ne Zaman Hangisi?
- Set path: Önek ekleme ya da kaldırma, sürüm yolu değiştirme gibi yalnızca yolu ilgilendiren işler.
- Set path + query: Parametre eklemek, kaldırmak ya da sorgu dizesini yeniden düzenlemek gereken işler; örneğin her isteğe
format=jsoneklemek.
Sık Karıştırılan Noktalar
- "Set path + query sorgu dizesini kendiliğinden korur." Request query değişkeni değerden çıkarılırsa özgün parametreler kaybolur.
- "Request query değişkeninin önüne
?yazılır." Değişken?ile başlar; önüne ayrıca?yazılırsa??oluşur (New Path Info). - "Bu aksiyonlar istemciyi yeni adrese gönderir." Yalnızca Kurum Servisine giden istek değişir; istemciyi yönlendirmek için Location redirection kullanılır.
- "Yeniden yazılan adres TR7 loglarında görünür." HTTP Logs istemcinin gönderdiği özgün adresi gösterir.
Dokümantasyonda nasıl yapılır
