服务器为网页返回404,但是页面在浏览器中显示正常-为什么? [英] Server returns 404 for a web page, but page is showing fine in browser - why?

查看:28
本文介绍了服务器为网页返回404,但是页面在浏览器中显示正常-为什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

一个陌生的网页穿过我的路。(作为一名开发人员,我必须解开这个谜团。)

在任何浏览器中访问网页时,一切似乎都正常。网页按预期显示。

但在控制台中查看时,服务器会自动返回404状态代码:

那么为什么浏览器要呈现页面?

查看正文显示返回了有效的HTML:

等一下。响应404并在此过程中发送HTML吗?浏览器会呈现它??

为什么会发生这种情况?这是服务器配置错误吗?还是这里发生了什么我不明白的聪明事?故意将服务器配置为这样运行是否有实际原因?

Http

Another answer on Stack Overflow 包含一些有趣的信息:spec实际上推荐的推荐答案状态码为404plus Html Response Body。

4xx类状态代码适用于
客户似乎弄错了。回复头部时除外
请求时,服务器应包含包含
错误情况说明
,是临时性的还是
永久条件。这些状态代码适用于任何
请求方法。用户代理应显示包含的任何
向用户呈现。

这给我留下了两种可能的解释:

解释1:服务器错误。

  • 服务器错误返回404状态码
  • 浏览器认为响应正文包含有关错误的详细信息,并将其显示出来-对于最终用户,这是实际的页面

解释2:这是为了击败爬网程序和页面查看程序。

  • 服务器故意返回404-非浏览器用户代理不会处理结果,因为它们将其解释为错误
  • 浏览器不受影响,只要页面正在显示,最终用户就不会在意

如果您不希望您的页面被索引,那么第二个确实会很聪明。

这篇关于服务器为网页返回404,但是页面在浏览器中显示正常-为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆