鑑於服務:使用DTD描述在RESTful服務中返回的XML?
> GET /hotel
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa</c>
< </hotel>
如果一個從服務器返回的XML引用DTD?
這會更好地允許客戶端驗證響應嗎?
鑑於服務:使用DTD描述在RESTful服務中返回的XML?
> GET /hotel
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa</c>
< </hotel>
如果一個從服務器返回的XML引用DTD?
這會更好地允許客戶端驗證響應嗎?
考慮到你所選擇的標記顯示爲自定義您的要求,那麼我會希望看到一個媒體類型,如
application/vnd.yourcompany.hotel+xml
在您的內容類型HTTP頭
。基於這種內容類型,客戶將知道它是否具有處理這種表示的知識。
引用你的DTD /模式當然是好的做法,如果他們願意的話,它將允許客戶驗證響應。他們通常不會。
這就是我的想法。雖然我沒有看到太多人這樣做。我們的應用程序是內部的(只有幾個客戶),所以不知道它是否過度殺傷。 – 2009-10-26 15:28:17
它不會花費太多。海事組織,它比依靠內容類型更好。 – divegeek 2009-10-26 17:48:15
媒體類型標題可以幫助您的客戶知道要使用的文檔類型。它還可以通過爲每個版本提供不同的文檔類型來幫助您對服務進行版本管理。
application/vnd.yourcompany.hotelv1+xml
application/vnd.yourcompany.hotelv2+xml
等
客戶端還可以指定它想回到哪一種文檔中的接受頭。
「vnd」是指什麼? – 2009-10-26 15:29:15
這是供應商樹的標識符,您可以使用它,而無需向IANA註冊媒體類型。 – SerialSeb 2009-10-26 15:35:52
不完全清楚客戶在處理過程中如何使用它。 – 2009-10-26 15:54:38