cle*_*aul 5 methods ajax post get http
当我第一次开始开发需要使用 HTTP 向服务器发送数据的客户端/服务器应用程序时,我对 HTTP 方法还很陌生。我确实对所有事情都使用了 GET 请求。
后来我了解到我应该使用 POST 发送数据并使用 GET 请求数据,但是,我有点困惑为什么这是最佳实践。从功能角度来看,我可以使用 GET 或 POST 来实现完全相同的事情。
为什么使用特定的 HTTP 方法而不是对所有内容使用相同的方法很重要?
我知道 POST 比 GET 更安全(GET 使数据在 HTTP URL 中可见),但是,我们不能只使用 POST 来处理所有事情吗?
我将尝试对此做出简短的回答。
GET用于读取信息。这是“默认”方法,所有内容都使用此方法从一个链接跳转到下一个链接。这包括浏览器,也包括爬虫。
GET是安全的'。这意味着,如果您发出GET请求,就可以保证您永远不会更改服务器上的某些内容。如果GET请求可能导致服务器上删除某些内容,这可能会产生很大的问题,因为蜘蛛/爬虫/搜索引擎可能会认为以下链接是安全的并自动删除内容。
这就是为什么我们有几种不同的方法。GET旨在允许您从服务器“获取”内容。同样,PUT允许您在服务器上设置新内容并DELETE允许您删除某些内容。
POST最大的最初目的是提交表单。您将表单发布到服务器并要求服务器对该表单执行某些操作。
任何客户端(人/浏览器或机器/爬虫)都知道这POST是“不安全的”。它不会POST代表您自动执行请求,除非它确实知道这是您(用户)想要的。它还用于类似于提交表单之类的事情。
因此,当您设计网站时,请确保GET仅用于从服务器获取内容,并且POST如果您的 ajax 请求会导致服务器上的“某些内容”发生更改,则使用它。
有趣的事实:有很多官方 HTTP 方法。至少 30 个。不过您可能只会使用其中的极少数。
那么更准确地回答标题中的问题:
为什么有多种 HTTP 方法可用?
不同的 HTTP 方法有不同的规则和限制。如果每个人都同意这些规则,我们就可以开始假设意图是什么。由于存在这些保证,HTTP 服务器、客户端和代理可以做出明智的决策,而无需了解您的特定应用程序。