SORU
10 ŞUBAT 2010, ÇARŞAMBA


HATEOAS: mutlak ya da göreli URL?

Tasarımı, Dinlendirici bir Web Hizmeti kullanarak HATEOAS, ne artılarını ve eksilerini gösteren bir link olarak tam bir URL ("http://server:port/application/customers/1234") vs. sadece path ("/application/müşteriler/1234")?

CEVAP
29 AĞUSTOS 2013, PERŞEMBE


İnsanların ince kavramsal bir belirsizlik var "göreli urı".

RFC3986's definition içerir: genel bir hata

  URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

  hier-part   = "//" authority path-abempty
              / path-absolute
              / path-rootless
              / path-empty

     foo://example.com:8042/over/there?name=ferret#nose
     \_/   \______________/\_________/ \_________/ \__/
      |           |            |            |        |
   scheme     authority       path        query   fragment

Zor şey, düzeni ve otoriteyi ihmal ne zaman, "ya da mutlak bir yol olabilir parçası" ("ile başlar "") veya "" göreli yol. köksüz yolu Örnekler:

  1. Birmutlak urıya da tam bir urı: "http://example.com:8042/over/there?name=ferret"
  2. Ve bu birgöreli urı mutlak bir yol ile: "//"
  3. Ve bu birgöreli urı göreli yol ile"burada" ya da "./burada" veya "../burada" ya da vb.

Bu yüzden, asıl soru ise "ister bir sunucu oluşturmakgöreli yoldinlendirici bir yanıt", cevap "" detail reason is available here.Hayır içinde Ben karşı çoğu kişi (ben de dahil) sanırım "göreli urı" aslında karşıyız "göreli yol".

Ve pratikte, çoğu çerçeve kolayca oluşturabilir sunucu tarafı MVCmutlak yol ile göreli urıgibi "/mutlak/yol///denetleyici" ve mümkün "olup olmadığını sunucu uygulaması gereken bir önek düzeni://hostname:port önünde mutlak yol". OP soru gibi. Bu konuda pek emin değilim.

Bir yandan, ben hala server tam bir urı dönen tavsiye olduğunu düşünüyorum. Ancak, sunucu 6 ** (aksi takdirde mutlak yolu ile göreli urı geri dönüş tercih ederim). Çözüm her zaman bir HTTP isteği öneki almak "Host" Başlığı. sunucu tarafı. Bu her durumlar için de çalışır mı emin değiliz.

Öte yandan, istemci "http://example.com:8042" ve mutlak yolu bağlamak için çok zahmetli görünüyor. Tüm bunlardan sonra, istemci sunucu sağa isteği gönderirken zaten bu düzeni ve etki alanı adını biliyor musun?

Hepsi, diyebilirimmutlak urı mutlak yolu ile göreli urı muhtemelen geri kullanmak için tavsiye, asla göreceli yolunu kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MugenPowerBatteries

    MugenPowerBa

    8 EKİM 2010
  • PremiumBeat.com - Royalty Free Music

    PremiumBeat.

    16 Kasım 2008
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006