对于使用 Refresh HTTP header 提供的文档,为什么 w3 验证器得到空源代码?

For document served with Refresh HTTP header, why does w3 validator get empty source code?

我正在尝试通过 w3 validator 检查网站,但总是失败并出现以下错误:

End of file seen without seeing a doctype first. Expected <!DOCTYPE html>.

好像是因为某些原因获取网站源代码失败。

但是,如果我添加 Accept-Language 参数(检查 this request),它将正确验证。 不仅仅是w3验证器的问题,例如facebook解析器,负责显示网站预览,也看不到源代码。

该网站使用 Codeigniter php 框架。这可能是问题所在吗? 任何想法如何解决问题?

您收到此错误是因为您正在检查的网站 link

http://en.teenagewasterecs.com/

显示在此 link 上找不到 404 页面。试试其他网站 links.

希望对您有所帮助。

http://teenagewasterecs.com 是 zero-byte no-content.

所以没有任何东西可供验证器检查——没有文件;相反,响应只有 HTTP headers,其中之一是 Refresh: 0;url=http://en.teenagewasterecs.com/ header.

因此浏览器会看到 Refresh header,跟随它并加载 http://en.teenagewasterecs.com/

但验证器不遵循那个 Refresh,也不加载另一个 URL。相反,验证器会尝试加载并检查 http://teenagewasterecs.com。但它是空的;因此,您会看到验证器错误。