Wikipedia'dan: Tekdüzen Kaynak Bulucu
Genellikle hiyerarşik biçimde düzenlenmiş, eğik çizgilerle ayrılmış bir dizi segment olarak görünen veri içeren bir yol .
Hiyerarşik olmayan verilerin bir sorgu dizesini içeren, önceki kısımdan bir soru işareti (?) İle ayrılmış isteğe bağlı bir sorgu .
- URL'nin kavramsal tasarımına göre, hiyerarşik veriler / yönergeler / konumlandırıcı bileşenleri için bir PathParam uygulayabilir veya veriler hiyerarşik olmadığında bir QueryParam uygulayabiliriz. Bu mantıklıdır çünkü yollar doğal olarak sıralanmıştır, oysa sorgular keyfi olarak sıralanabilen değişkenler içermektedir (sırasız değişken / değer çiftleri).
Önceki bir yorumcu şunu yazdı:
Parametre belirli bir varlığı tanımlarsa, bir yol değişkeni kullanmanız gerektiğini düşünüyorum.
Başka biri yazdı,
Kimliğe göre almak için @PathParam kullanın. Filtre için User @QueryParam veya kullanıcının geçebileceği sabit seçenekler listeniz varsa.
Bir diğeri,
Gerekli parametreleri yola koymanızı öneririm ve isteğe bağlı parametreler kesinlikle sorgu dizesi parametreleri olmalıdır.
- Ancak, belirli varlıkları tanımlamak için esnek, hiyerarşik olmayan bir sistem uygulanabilir! Bir SQL tablosunda birden çok benzersiz dizin olabilir ve varlıkların benzersiz bir dizin içeren alanların herhangi bir kombinasyonu kullanılarak tanımlanmasına izin verebilirsiniz! Farklı kombinasyonlardan (yönlendirenler) bağlantılar için farklı kombinasyonlar (belki de farklı şekilde sıralanmıştır) kullanılabilir. Bu durumda, tek tek varlıkları tanımlamak için kullanılan hiyerarşik olmayan verilerle ilgileniyor olabiliriz - ya da diğer durumlarda yalnızca belirli değişkenleri / alanları (benzersiz dizinlerin belirli bileşenleri) belirtebilir ve bir liste / kayıt kümesi alabiliriz. Bu gibi durumlarda URL'leri QueryParams olarak uygulamak daha kolay, daha mantıklı ve makul olabilir!
Uzun bir onaltılık dize, yolun geri kalanındaki anahtar kelimelerin değerini azaltabilir / azaltabilir mi? Değişkenleri / değerleri yola veya sorguya yerleştirmenin olası SEO sonuçlarını dikkate almaya değer olabilir.ve adres çubuğunun içeriğini düzenleyerek kullanıcıların URL'lerin hiyerarşisinde geçiş yapabilmesini / keşfetmesini isteyip istemediğimizin insan arayüzü sonuçları. 404 Bulunamadı sayfam, bozuk URL'leri üst öğelerine otomatik olarak yönlendirmek için SSI değişkenlerini kullanıyor! Arama robotları da yol hiyerarşisinde geçiş yapabilir. Öte yandan, kişisel olarak, URL'leri sosyal medyada paylaştığımda, herhangi bir özel benzersiz tanımlayıcıyı manuel olarak çıkarıyorum - tipik olarak sorguyu URL'den keserek ve yalnızca yolu bırakarak: bu durumda benzersiz tanımlayıcılar yerleştirmede bazı yardımcı programlar var sorguda değil, yolda. Yol bileşenlerinin ham bir kullanıcı arabirimi olarak kullanımını kolaylaştırmak isteyip istemediğimiz, belki de verilerin / bileşenlerin insan tarafından okunabilir olup olmamasına bağlıdır. İnsan tarafından okunabilirlik sorunu bir şekilde hiyerarşi sorunuyla ilgilidir: genellikle, insan tarafından okunabilir anahtar kelimeler olarak ifade edilebilecek veriler de hiyerarşiktir; hiyerarşik veriler genellikle okunabilir anahtar kelimeler olarak ifade edilebilir. (Arama motorlarının kendileri, URL'lerin kullanıcı arayüzü olarak kullanımını artırmak olarak tanımlanabilir.) Anahtar kelime veya direktiflerin hiyerarşileri kesinlikle sipariş edilmeyebilir, ancak genellikle yoldaki alternatif vakaları kapsayabilecek kadar yakındır vebir seçeneği "standart" durum olarak etiketleyin .
Her istek için URL ile cevaplayabileceğimiz temelde birkaç tür soru vardır:
- Ne tür bir kayıt / şey istiyoruz?
- Hangisiyle ilgileniyoruz?
- Bilgileri / kayıtları nasıl sunmak istiyoruz?
Q1 neredeyse kesinlikle en iyi yol veya PathParams tarafından kapsanır. Q3 (muhtemelen rastgele sıralanan isteğe bağlı parametreler ve varsayılan değerler kümesi ile kontrol edilir); neredeyse kesinlikle en iyi QueryParams tarafından kapsanmaktadır. S2: Duruma göre değişir…