小编典典

大多数 Web 浏览器中是否提供 PUT、DELETE、HEAD 等方法?

all

我在这里看到了几个问题,其中提到:

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

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

但是,Firefox
中的一些快速测试表明发送PUTDELETE请求按预期工作——XMLHttpRequest成功完成,并且请求以正确的方法显示在服务器日志中。我是否缺少某些方面,例如跨浏览器兼容性或不明显的限制?


阅读 163

收藏
2022-03-04

共1个答案

小编典典

不,HTML 5 规范提到:

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

关键字 get ,映射到状态 GET,表示 HTTP GET 方法。GET 方法应该只请求和检索数据,应该没有其他效果。

关键字 post ,映射到状态 POST,表示 HTTP POST 方法。POST
方法请求服务器接受要处理的提交表单的数据,这可能导致将项目添加到数据库、创建新的网页资源、更新现有页面或所有提到的结果.

关键字 dialog ,映射到状态对话框,表示提交表单的目的是关闭表单所在的对话框(如果有),否则不提交。

这些属性的无效值默认值是 GET 状态

即 HTML 表单仅支持 GETPOST 作为 HTTP 请求方法。一种解决方法是使用隐藏的表单字段通过 POST 通过 POST
隧道传输其他方法,该字段由服务器读取并相应地分派请求。

然而,所有主要网络浏览器(IE、Firefox、Safari、Chrome、Opera)中的 XMLHttpRequest(即 AJAX 调用)的实现
支持 GETPOSTPUTDELETE 。 __

2022-03-04