取消引用微数据项类型URL:“引用”;不应;vs.“;不可";

取消引用微数据项类型URL:“引用”;不应;vs.“;不可";,url,microdata,vocabulary,Url,Microdata,Vocabulary,在W3C的HTML微数据中, (这在WHATWG的HTML生活标准中): 除非该规范另有规定,否则作为项类型给出的URL不应自动取消引用 注意:例如,规范可以定义其项类型可以解除防护,以向用户提供帮助信息。事实上,词汇作者被鼓励在给定的URL上提供有用的信息 紧接着是: 项目类型是不透明的标识符,用户代理不得取消引用未知项目类型,或以其他方式解构它们,以确定如何处理使用它们的项目 我对此感到困惑。在第一段中,它指出itemtype属性中的URL“不应自动取消引用”(应该,而不是必须;因此根据本段

在W3C的HTML微数据中, (这在WHATWG的HTML生活标准中):

除非该规范另有规定,否则作为项类型给出的URL不应自动取消引用

注意:例如,规范可以定义其项类型可以解除防护,以向用户提供帮助信息。事实上,词汇作者被鼓励在给定的URL上提供有用的信息

紧接着是:

项目类型是不透明的标识符,用户代理不得取消引用未知项目类型,或以其他方式解构它们,以确定如何处理使用它们的项目

我对此感到困惑。在第一段中,它指出
itemtype
属性中的URL“不应自动取消引用”(应该,而不是必须;因此根据本段,允许用户代理取消引用)。但在最后一段中,它说用户代理“不得取消对未知项目类型的引用”

这是一个矛盾还是他们的意思不同

也许它只是关于已知与未知(尽管在第一段中它根本没有提到“已知”,所以我假设它适用于所有词汇,无论是否已知)?但是,如果用户代理知道一个词汇表,为什么会有区别呢?首先“了解”一个词汇到底意味着什么


或者“为了确定如何处理使用它们的项目”部分是问题的关键?因此,用户代理可以出于任何原因取消引用,除非他们试图确定如何处理项目?

我想,但我不确定

这种区别是已知的还是未知的。至于“已知”的含义,请记住这只是数据,用户代理不一定是浏览器。例如,至少在理论上,一个特定的数据集可以被解释为控制现实世界的机器

第一部分是说,如果UA知道数据类型,那么它就不需要去引用它,因为UA总是知道通过去引用获得的资源是什么。所以这只是网络流量开销。与UAs一样,UAs不应该取消对DTD的引用,因为它们应该已经知道DTD资源将包含什么。这是应该的,因为对于UA数据类型已知的任意类型,不可能说解引用会产生有用的结果

后面的部分是说,如果UA不知道数据类型,那么就没有定义协议来定义解引用将产生有意义的资源,因此UA充其量只是猜测。对任何系统来说,进行解引用和一些网络成本都是没有价值的,因此不能这样做