gpt4 book ai didi

http - 服务器为网页返回 404,但页面在浏览器中显示正常 - 为什么?

转载 作者:可可西里 更新时间:2023-11-01 16:40:34 25 4
gpt4 key购买 nike

一个奇怪的网页从我面前掠过。 (作为一名开发人员,我必须解开这个谜团。)

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

但是在控制台中查看时,服务器实际上返回了 404 状态代码:

enter image description here

那么浏览器为什么要渲染一个页面呢?

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

enter image description here

等一下。响应 404 并沿途发送 HTML?然后浏览器渲染它??

为什么会这样?这是一些服务器配置错误吗?或者这里发生了一些我不明白的聪明事?有意将服务器配置为这样的行为有实际原因吗?

最佳答案

Another answer on Stack Overflow 包含一些有趣的信息:spec 实际上推荐了 404 的 HTTP 状态代码加上 HTML 响应主体.

The 4xx class of status code is intended for cases in which the
client seems to have erred. Except when responding to a HEAD
request, the server SHOULD include a representation containing an
explanation of the error situation
, and whether it is a temporary or
permanent condition. These status codes are applicable to any
request method. User agents SHOULD display any included
representation to the user.

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

解释一:服务器错误。

  • 服务器错误地返回了一个 404 状态码
  • 浏览器认为响应主体包含有关错误的详细信息并显示它 - 对于最终用户来说这是实际页面

解释 2:它是故意用来打败爬虫和页面观察者的。

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

如果您不希望您的页面被编入索引,那么第二个确实有点聪明。

关于http - 服务器为网页返回 404,但页面在浏览器中显示正常 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44293044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com