HTTP 405 错误 – 方法不被允许 (Method not allowed)【转载】

HTTP 405 错误 – 方法不被允许 (Method not allowed)【转载】

介绍

HTTP 协议定义一些方法,以指明为获取客户端(如您的浏览器或我们的 CheckUpDown 机器人)所指定的具体网址资源而需要在 Web 服务器上执行的动作。则这些方法如下:

  • OPTIONS( 选项 ) :查找适用于一个特定网址资源的通讯选择。 在不需执行具体的涉及数据传输的动作情况下, 允许客户端来确定与资源相关的选项以及 / 或者要求, 或是一个服务器的性能。
  • GET( 获取 ) :检索由网址资源所确定的信息,如获取一个特定的网页或图片。这是最常用的方法。
  • HEAD( 头 ) :除了服务器只反馈标头信息而不是网址资源所确定的信息本身外, 基本同于 GET ( 获取 ) 。 可用于获取一个请求所要求的响应实体的元信息 ( metainformation) ,而不需传输响应实体本身。 经常用来测试超文本链接的有效性, 可达性, 和最近的修改。
  • POST( 投寄 ) :将数据提交到 Web 服务器,如 1 )在电子公告板,新闻组中,或向 邮件名单发送信息, 2 )提供输入数据 – 通常由一个公共网关接口(CGI) 表, 到 一个数据处理进程, 3 )直接将记录添加到一个数据库中。
  • PUT( 放置 ) :将一个具体网址的数据设置( 置入 / 替换)成客户提交的新数据。例如,将新的网页上载给服务器。
  • DELETE( 删除 ) :删除与网址资源相关的数据。例如,删除网页。
  • TRACE( 跟踪 ) :运行请求信息的一个远程应用层回送。 实际上是一个 ‘ping’, 用以测试 Web 服务器正在从客户端接收什么数据。
  • CONNECT( 连接 ) :保留以便通过代理服务器和隧道一起使用(如 SSL )。这种方法只在 HTTP 1.1 版中定义, 而在先前的 1.0 版中却没有。

所有 Web 服务器都可以被设置为允许或不允许任何方法。例如,如果一个 Web 服务器是 ‘ 只读 ‘ (客户端不能修改 Web 服务器上的网址资源) ,那么它可以被设置为不允许 PUT 和 DELETE 方法。 同样,如果没有用户输入(所有的网页都是静态的) , 那么 POST 方法可设置为不允许。 所以, 405 错误可能会因 Web 服务器没有被设置为从客户端接受输入数据而出现。 另外, 如果客户端对请求中指明的具体网址资源没有足够的权力, 该错误也会出现。

HTTP 循环中的 405 错误

任何客户端 ( 例如您的浏览器或我们的 CheckUpDown 机器人 ) ,都需要通过以下循环:

  • 从您站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 ‘http://’) 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。
  • 打开一个 IP 套接字 (socket) 连接到该 IP 地址。
  • 通过该套接字写 HTTP 数据流。
  • 从您的Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。

该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码并识别其为 ‘405’ 时

解决 405 错误 – 一般方法

405 错误经常和 POST 方法同时出现。 您可能在您的网站上尝试引入某种输入表格,但并非所有的互联网服务供应商 (ISPs) 都 允许处理该表格所需的 POST 方法。

所有 405 错误都可以追综到 Web 服务器设置和控制访问网站内容的安全管理,因此您的 ISP 应该很容易地予以解释。

解决 405 错误 – CheckUpDown

这个错误应该永远不会发生在您的 CheckUpDown 帐户上。 如果出现了, 则通常表明我方系统或是管理您网站的 Web 服务器系统在编程上有缺陷。 我们只使用 GET 方法,所有 Web 服务器都应允许(否则, 任何人无论如何都不能看到您的网站) 。

只要您遇到 405 错误,就请与我们联系(最好通过电子邮件) – 您自己无法解决此类错误。我们必须和您的 ISP 及 Web 服务器软件供应商联络,以确认产生该错误的确切原因。

本文来源:http://www.checkupdown.com/status/E405_cn.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113749.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • K8S常用命令合集

    K8S常用命令合集

    2021年6月1日
    106
  • QMap详解「建议收藏」

    QMap详解「建议收藏」QMap详解QMap是Qt的一个模板类,它是基于红黑树算法的一套字典。QMap<Key,T>是Qt容器类型的一种,它通过(Key,value)存储一对值,并通过Key可以查找与之关联的value的值。QMap和QHash是很相似的,不同的地方是:QHash的查找速度比QMap要快很多。在对QHash进行迭代时,这些项是任意排序的。在QMap中,项总是按键排序。QHash的关键类型必须提供运算符==()和全局QHash(key)函数。QMap的关键类型必须提供操作符<(

    2022年5月30日
    254
  • Android适应方案汇总(三)

    Android适应方案汇总(三)

    2022年1月1日
    57
  • 0707作业

    0707作业

    2021年6月8日
    100
  • zookeeper系列学习——(1)zookeeper的简单介绍

    这一篇大概整理一下zookeeper的一下基本的知识点,不能自己研究出新的技术,就先看别人造出来的轮子! 我一直在模仿,从未有创新!但我相信从模仿开始,总归是有成长和进步的! 首先学习一个新的技术,看官方文档是最好的一种方式。对我来说不仅可以学习技术,还可以提升一下自己的英语能力。 [zookeeper官方网站(http://zookeeper.apache.org/)。Zookeeper中文

    2022年2月25日
    43
  • onStart和onResume的区别

    onStart和onResume的区别当Activity被onCreate后就会进入onStart状态,使这个Activity对用户来说呈可见状态,但不能交互。onStart之后调用onResume使得这个Activity获得焦点,排在了所有其他Activity之前,从而获得与用户交互的能力。

    2022年5月24日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号