如果我们有两个网页,比如一个在www.example.com/a
,另一个在www.anotherExample.com/b
,那么这两个页面的字节相同内容和这两个页面的等效内容之间有什么区别?考虑到Java,是否有任何工具或库来调查这两种情况?
修改
为了缩小我的问题的范围,我在第2部分将这个问题的读者推荐给以下article。
答案 0 :(得分:0)
那么,该文章的第2部分通过等效内容解释作者的含义:
...页面经常在字节级别上改变(例如,通过添加空行,通过HTML重新格式化等)而不改变内容。因此,我们说如果两个页面的内容等同于,那么这些页面在此类标准化后具有相同的内容。
这句话没有标准含义;它在该文章的背景下的意思就是他们所说的意思。
我不知道任何专门实现该定义的Java工具或库。但是,如果它们生成相同的DOM,我会将其解释为两个页面是内容等效的。 1 因此,任何从网页构建DOM的工具都可用于测试内容的等效性那篇文章。
实施例
original.html
:
<html>
<head><title>A page</title></head>
<body><h1>A page header</h1></body>
</html>
content-equivalent.html
:
<html>
<head>
<title>A page</title>
</head>
<body>
<h1>A page header</h1>
</body>
</html>
文件original.html
和content-equivalent.html
不按字节相等,但它们的内容是等效的。
1 请注意,这是一个非常严格的解释。即使像重新排序<link>
和其他元数据元素这样的更改也会使两个页面不等同于内容。这可能是也可能不是作者的意图。你不得不问他们。但该文章的语言向我表明这正是他们的意图。