为什么有多种HTTP方法可用?

时间:2018-04-29 03:03:49

标签: ajax http post methods get

当我第一次开始开发需要利用HTTP将数据发送到服务器的客户端/服务器应用程序时,在HTTP方法方面我很明白。我确实使用了GET请求一切。

我后来才知道我应该使用POST来发送数据和GET来请求数据但是,我有点困惑为什么这是最佳实践。从功能的角度来看,我能够使用GET或POST来实现完全相同的功能。

为什么使用特定的HTTP方法而不是对所有内容使用相同的方法很重要?

我知道POST比GET更安全(GET使数据在HTTP URL中可见)但是,我们不能只使用POST来处理所有内容吗?

1 个答案:

答案 0 :(得分:1)

我准备好回答这个问题。

GET用于阅读信息。它是默认的'方法,一切都使用它从一个链接跳转到下一个链接。这包括浏览器,也包括抓取工具。

GET是安全的'。这意味着如果您执行GET请求,则可以保证您永远不会更改服务器上的内容。如果GET请求可能导致在服务器上删除某些内容,则可能会出现问题,因为蜘蛛/抓取工具/搜索引擎可能会认为以下链接是安全的并自动删除内容。

这就是为什么我们有几种不同的方法。 GET旨在让您获得'来自服务器的东西。同样,PUT允许您在服务器上设置新内容,DELETE允许您删除内容。

POST最大的原始目的是提交表单。您将表单发布到服务器并要求服务器对该表单执行某些操作。

任何客户(人/浏览器或计算机/抓取工具)都知道POST不安全'。它不会代表您自动执行POST请求,除非它真的知道您(用户)想要的内容。它也用于类似于提交表单的东西。

因此,当您设计网站时,请确保仅使用GET从服务器获取内容,如果您的ajax请求会导致“{1}”,请使用POST。在服务器上进行更改。

有趣的事实:官方HTTP方法有a lot个。至少30岁。你可能只会使用极少数。

所以更准确地回答标题中的问题:

  

为什么有多种HTTP方法可用?

不同的HTTP方法有不同的规则和限制。如果每个人都同意这些规则,我们就可以开始假设意图是什么。由于存在这些保证,HTTP服务器,客户端和代理可以在不了解特定应用程序的情况下做出明智的决策。