大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗?

我在这里看到了几个问题,例如如何调试RESTful服务,其中提到:

不幸的是,同一浏览器不允许我测试HTTP PUT,DELETE,并且在某种程度上甚至无法测试HTTP POST。

我还听说其他一些来源的浏览器仅支持GET和POST:

  • http://www.packetizer.com/ws/rest.html
  • http://www.mail-archive.com/jmeter-user@jakarta.apache.org/msg13518.html
  • http://www.xml.com/cs/user/view/cs_msg/1098

但是,在Firefox中进行的一些快速测试表明,发送PUTDELETE请求可以正常工作-

XMLHttpRequest成功完成了请求,并且使用正确的方法将请求显示在服务器日志中。我是否缺少某些方面的信息,例如跨浏览器兼容性或非显而易见的限制?

回答:

否。HTML5规范提到:

method和formmethod内容属性是具有以下关键字和状态的枚举属性:

关键字 ,映射到状态GET,指示HTTP GET方法。GET方法应仅请求和检索数据,并且没有其他效果。

关键字 ,映射到状态POST,指示HTTP

POST方法。POST方法要求服务器接受要处理的提交表单数据,这可能导致将项目添加到数据库,创建新的网页资源,更新现有页面或所有提及的结果。

关键字 映射到状态对话框,指示提交表单旨在关闭对话框,在该对话框中表单会自动找到(如果有),否则将不会提交。

这些属性的默认值默认为GET状态

即HTML表单仅支持 和

作为HTTP请求方法。一种解决方法是使用服务器读取的隐藏表格字段并相应地分派请求,从而通过POST隧道传输其他方法。

但是,在所有主要的Web浏览器(IE,Firefox,Safari,Chrome,Opera)中,XMLHttpRequest(即AJAX调用)的实现

支持 , , 和 。 __

以上是 大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗? 的全部内容, 来源链接: utcz.com/qa/414280.html

回到顶部