我正在对一些网站进行一些测试(我不会提及),当它们是找不到页面的页面时,它们会返回 200 个代码。这是否违反任何 Web 开发标准?
这是我用来查看 URL 的返回码的代码:
System.out.println(new String("getRespCode=" + urlConnection.getResponseCode() + ", HttpURLConnection=" + HttpURLConnection.HTTP_OK + "\n"));
有任何想法吗?
这称为 aSoft 404
或False 404
。维基百科有详细的讨论。任何网络标准都不允许这样做(而且我不知道有任何支持的论点),但无效的 HTML 也是如此。
听起来像是他们这边的错误。也有可能,404 错误被重定向到另一个页面以显示更好的响应,并且该页面正在发送 200。
这很常见,虽然不正确。例如,搜索引擎会认为他们正在访问一个有效的页面
是的,这绝对违反标准。这就像当你用完汽油时你的油灯亮了。
不幸的是,这很常见;然而,这并不意味着它是可以接受的。
phihag 留下了很好的链接,值得一读。
请注意,对于真正的 404,您的代码(据我所知)不会执行,但会产生 FileNotFoundException。