Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么浏览器只支持GET和POST HTTP方法?_Http_Browser - Fatal编程技术网

为什么浏览器只支持GET和POST HTTP方法?

为什么浏览器只支持GET和POST HTTP方法?,http,browser,Http,Browser,我读了下面的课文 HttpServlet.service()方法实现是 在代码中控制对servlet的访问。例如,servlet 应始终使用 删除方法,但因为浏览器只支持GET和POST 操作时,应使用POST方法。 大多数浏览器似乎只支持两种HTTP方法,GET和POST 如果是,原因是什么?现代浏览器允许使用XMLHttpRequest获取、发布、放置和删除。你可以经历这一切 正在执行PUT和DELETE以修改源服务器上的资源 直接面向使用XmlHttpRequest的现代Web浏览器 对象

我读了下面的课文

HttpServlet.service()方法实现是 在代码中控制对servlet的访问。例如,servlet 应始终使用 删除方法,但因为浏览器只支持GET和POST 操作时,应使用POST方法。

大多数浏览器似乎只支持两种HTTP方法,
GET
POST


如果是,原因是什么?

现代浏览器允许使用XMLHttpRequest获取、发布、放置和删除。你可以经历这一切

正在执行PUT和DELETE以修改源服务器上的资源 直接面向使用XmlHttpRequest的现代Web浏览器 对象对于无脚本的浏览器交互,这并不是那么简单。 通常,开发人员和框架最终会创建类似于 使用“POST表单”耦合的HTTP PUT/DELETE+Etag交互 使用专门的服务器端代码来整理特殊情况并采取行动 就像在请求中使用了正确的HTTP方法一样

其他考虑:

  • 使用POST作为通道而不是使用PUT/DELETE可能导致 缓存错误匹配(例如,POST响应可缓存5,PUT响应 不是[6],删除响应不是[7])

  • 使用非幂等方法(POST)执行幂等 由于网络故障,操作(PUT/DELETE)使恢复变得复杂 (例如,“重复此操作是否安全?”)


您也可以参考此线程:

现在有一些现代浏览器允许使用XMLHttpRequest获取、发布、放置和删除。你可以经历这一切

正在执行PUT和DELETE以修改源服务器上的资源 直接面向使用XmlHttpRequest的现代Web浏览器 对象对于无脚本的浏览器交互,这并不是那么简单。 通常,开发人员和框架最终会创建类似于 使用“POST表单”耦合的HTTP PUT/DELETE+Etag交互 使用专门的服务器端代码来整理特殊情况并采取行动 就像在请求中使用了正确的HTTP方法一样

其他考虑:

  • 使用POST作为通道而不是使用PUT/DELETE可能导致 缓存mis匹配(例如POST响应可访问5,PUT响应 不是[6],删除响应不是[7])

  • 使用非幂等方法(POST)执行幂等 由于网络故障,操作(PUT/DELETE)使恢复变得复杂 (例如,“重复此操作是否安全?”)


您也可以在表单中引用此线程:

,唯一可能的方法是GET和POST。在进行AJAX调用时,支持其他方法

:

method=get | post[CI]
此属性指定将使用哪个HTTP方法提交表单数据集。可能的(不区分大小写)值为“get”(即 默认)和“发布”

:

方法
要使用的HTTP方法,如“GET”、“POST”、“PUT”、“DELETE”等。对于非HTTP URL将被忽略


在表单中,唯一可能的方法是GET和POST。在进行AJAX调用时,支持其他方法

:

method=get | post[CI]
此属性指定将使用哪个HTTP方法提交表单数据集。可能的(不区分大小写)值为“get”(即 默认)和“发布”

:

方法
要使用的HTTP方法,如“GET”、“POST”、“PUT”、“DELETE”等。对于非HTTP URL将被忽略


你能举一个你认为他们应该支持的其他方法的例子吗?我还没有看到一个浏览器只支持
GET
POST
。你是怎么得出这个结论的<代码>补丁还是不寻常的。@Hampus我添加了源代码。你能举一个你认为他们应该支持的其他方法的例子,以及这种支持可能是什么样子吗?我没有看到一个浏览器只支持
GET
POST
。你是怎么得出这个结论的<代码>补丁还是不寻常的。@Hampus我添加了源代码。我标记这个答案是因为链接非常有用。Guffa的答案很简洁,我更喜欢这个。我标记这个答案是因为这个链接非常有用。Guffa的回答很简洁,我更喜欢这个。投票赞成简洁。谢谢。投票赞成简洁。谢谢