我有一个人和机器应该能够读取的URL资源:
http://example.com/foo-collection/foo001
区分人类浏览器和计算机,返回HTML或特定于域的XML响应的最佳方法是什么?
(1)请求中的Accept类型字段?
(2)额外的URL?例如:
http://example.com/foo-collection/foo001 - >返回HTML
http://example.com/foo-collection/foo001?xml - >返回,呃,XML
我不希望让读取资源的机器解析HTML(或XHTML).像googlebot这样的机器应该会收到HTML回复.
假设我控制机器读取器是合理的.
如果这是您的控制,而不是添加查询参数,为什么不添加文件扩展名:
http://example.com/foo-collection/foo001.html - return HTML http://example.com/foo-collection/foo001.xml - return XML
除了其他任何东西,这意味着如果有人用wget取出它或从浏览器中保存它,它将有一个合适的文件名,没有任何大惊小怪.