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

  • BgirlNilaya

    BgirlNilaya

    29 EKİM 2008
  • Charles Renaud

    Charles Rena

    10 Kasım 2007
  • Vsauce

    Vsauce

    30 Temmuz 2007