为什么我的Web服务器软件不允许PUT和DELETE请求?(Why does my web serv

2019-07-17 13:38发布

我想实现一个REST协议,并在试图调试我的Web服务器是不允许的实现了PUT请求。

我已经测试并进一步证实了这一点通过运行:

curl -X PUT  http://www.mywebserver.com/testpage

这对我的Web服务器还给403 -禁止错误

同样的情况对于DELETE ,其中作为POSTGET一切都很好。

我想知道如果这是一个常见的问题,那些谁使用REST相遇,什么变通可能是什么?

我可以做一个简单的改变了.htaccess文件吗? 或者我需要修改协议的POST查询字符串来设置一个隐藏的变量“_method”?

Answer 1:

通常,Web服务器将配置为阻止除GET和POST任何事情,因为他们都是被需要的,也有过在过去的问题,假设请求的应用99%的时间是这两个中的一个。

你不说哪个服务器它不过是,例如,你可以告诉Apache是​​哪个方法来允许该指令:

例如:

<Limit POST PUT DELETE>
  Require valid-user
</Limit>

这听起来像也许一些有用的系统管理员已经用这个来阻止非GET / POST

您可以尝试的.htaccess

<Limit GET POST PUT DELETE>
  Allow from all
</Limit>

(我不是在阿帕奇的专家,这可能不是完全正确)



文章来源: Why does my web server software disallow PUT and DELETE requests?
标签: http rest