gpt4 book ai didi

http - 选择 HTTP 状态代码

转载 作者:可可西里 更新时间:2023-11-01 16:38:58 26 4
gpt4 key购买 nike

当我通过 API 从来源检索数据时,我的网络应用程序出现了严重问题,并且由于 Google 对其的解释方式而被审查/删除了内容。根据谷歌在我的网站管理员面板上的说法:

Server error 18,216 errors

Not found 13,333 errors

Not followed 9 errors

Other 190 errors

在我的应用程序的实时版本中,我通过执行(我使用的是 codeigniter)来显示返回的错误:

show_error($e->getMessage());

我这样做是因为我需要从源头显示返回的错误,而无需添加太多代码,但我没有想到它会在以后产生负面影响(我在我的第一个发布的应用程序中,还有很多东西要学)。

现在我正在开发一个新版本,但在那之前我想知道哪个 HTTP 状态代码适合用于热修复:

204 No Content

404 Not found

410 Gone

还有其他的吗?

更新

代码或服务器没有问题,HTTP 状态代码 500 是由于 show_error($e->getMessage()); 而生成的,我想以相同的方式使用它,但是我自己添加一个错误代码:show_error($e->getMessage(), 'error_general', 503);

因为 500 设置为默认值:

函数 show_error($heading, $message, $template = 'error_general', $status_code = 500)

更新2

只是为了澄清一下,我不想发送与限制访问/内容相关的 HTTP 状态代码,而是发送与 $e->getMessage() 中的错误消息相关的代码,其中 90% 的案例包含错误消息,指出内容已被删除或审查。

话虽如此,我要问:当显示一条错误消息时,使用哪个正确的 HTTP 状态代码表示内容由于 X 原因已被删除/审查或设置为不可用。

最佳答案

如果我对您的理解正确,则用户(或用户代理)正在尝试访问曾经存在但出于所有意图和目的不再可用的内容。它可能存在于您的服务器上的某处,但就网络而言它并不存在。

如果是这种情况,您有一些选择,具体取决于您想与用户交流的内容:

  1. 403 - 禁止访问。如果您想让用户知道确实存在这样的资源,但您无法获取它,则可以使用此方法。这意味着身份验证将无济于事。
  2. 410 - 走了。这意味着,是的,这里有一些东西,但现在不存在了,而且它不会再回来了。只有在您确定病情是永久性的情况下才使用它。
  3. 404 - 未找到。这比 410 更通用。如果您不确定 410 是否合适,请回退到 404。

403 和 410 都让用户知道这是某种合法路径,但您可能永远无法获取资源。对于所有这三个,您可以在响应正文中包含一个解释(即您的错误消息)。

关于http - 选择 HTTP 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998015/

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