405

Method Not Allowed

官方 子状态代码
请求所使用的方法是不允许的

HTTP状态代码405的规范

405 Method Not Allowed状态代码表明请求行中收到的方法被源服务器知道,但不被目标资源支持。 原生服务器必须在405 Method Not Allowed响应中生成一个Allow头域,其中包含目标资源当前支持的方法的列表。405 Method Not Allowed响应默认是可缓存的;也就是说,除非方法定义或明确的缓存控制另有说明

来源/引自: 405 Method Not Allowed HTTP状态代码由6.5.5的RFC7231部分指定。

如何用PHP抛出一个405状态代码?

要在一个网页上抛出HTTP状态代码405,可以使用PHP函数http_response_code。其语法如下: http_response_code(405) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

测试405 HTTP状态代码

为了能够在客户端显示HTTP状态代码(本例中为405 Method Not Allowed)和其他信息,必须用F12打开开发控制台。然后导航到 "网络 "标签。现在可以打开页面,网站(例如index.php)应该在网络标签中可见。这必须被选中,然后必须选择Herder部分。然后,用户将看到以下结果:

状态代码 405 Method Not Allowed
概述
URL: https://http-statuscode.com/errorCodeExample.php?code=405
状况: 405 Method Not Allowed
那些: Network
IP地址: XX.XX.XX.XX
状态代码 405 Method Not Allowed

我如何解决405状态代码的问题?

解决 HTTP 状态代码 405 Method Not Allowed 问题的方法是在客户端或服务器端进行必要的更改。在下文中,我将介绍有助于解决问题的不同方法:

  1. 检查支持的 HTTP 方法:当客户端使用的 HTTP 方法不受服务器支持时,就会出现 405 Method Not Allowed 状态代码。请确保您使用了正确的方法,例如 GET、POST、PUT 或 DELETE,具体取决于您要执行的操作。检查 API 或服务器文档以确定相关资源的支持方法。
  2. 检查 URL:URL可能格式不正确或无效,从而导致405 Method Not Allowed错误。请确保 URL 是正确的,并且指向服务器上的正确资源。
  3. 检查访问权限:如果客户端不具备在资源上执行所请求操作的必要权限,则可能发生 405 Method Not Allowed 错误。检查服务器上的访问控制机制并确保客户端具有所需的权限。
  4. 检查服务器配置:服务器可能被配置为阻止某些资源的某些 HTTP 方法。检查服务器配置以确保所需的方法允许用于相关资源。
  5. 检查防火墙和代理:可能是防火墙或代理限制了 HTTP 流量并导致 405 Method Not Allowed 错误。确保防火墙或代理配置正确,并允许使用所需的 HTTP 方法进行通信。
  6. 更新所使用的软件:有时,软件(例如 Web 浏览器或 API 客户端)的过期或故障版本可能会导致错误。更新您正在使用的软件到最新的稳定版本,然后检查问题是否仍然存在。
  7. 咨询文档或支持:如果上述解决方案都不能解决问题,您应该咨询服务器或API的官方文档。在那里您可能会找到具体信息或进一步的故障排除步骤。如有必要,您还可以联系服务器或 API 的技术支持以获得进一步的帮助。

注意,405 Method Not Allowed 错误的解决方案可能取决于特定的环境和上下文。

如何为状态代码405创建你自己的错误页面

使用 "Apache "和 "NGINX "网络服务器,创建你自己的405 Method Not Allowed错误页面是相对容易的。

Apache Webserver

网络服务器 "Apache "是互联网上最常见的网络服务器之一。要在 "Apache "中创建自己的405 Method Not Allowed错误页面,必须在以下文件中做如下修改。

File: .htaccess
ErrorDocument 405 /errors/405.html

NGINX Webserver

与网络服务器 "Apache "类似,"NGINX "也在互联网上广泛使用。要在 "NGINX "中创建自己的405 Method Not Allowed错误页面,必须在以下文件中做如下修改。

File: sites-enabled/default
error_page 405 /405.html;
location = /405.html {
    root /usr/share/nginx/html;
    internal;
}

405状态代码的浏览器兼容性

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

编程语言中的常量

HttpStatusCode.MethodNotAllowed
http.StatusMethodNotAllowed
Response::HTTP_METHOD_NOT_ALLOWED
httplib.METHOD_NOT_ALLOWED
http.client.METHOD_NOT_ALLOWED
http.HTTPStatus.METHOD_NOT_ALLOWED
:method_not_allowed

405状态代码的子状态代码

子状态代码纯粹是技术性的,不应该被发送给用户。例如,如果状态代码405.1被抛出,它可能被记录下来,但状态代码405将被发送给用户。:
405.0 Method not allowed
HTTP IIS, 非官方的
作者: Tony Brüser
作者: Tony Brüser

Tony Brüser 是一位热衷于 HTTP 状态代码的网络开发人员。

LinkedInGitHub