我们每天都要使用网络,例如你在网站上提交登录表单时,其实就是在向服务器发出请求。每次进入新页面时,我们也都在不断发出请求。发送出去的请求类型有好几种,你可以在浏览器开发者工具中看到。
今天我们来快速了解这些HTTP请求的含义以及使用它们的场景,以下是一些最常见的请求。
浏览器开发者工具
GET
GET方法是一种常用的HTTP请求方法,你可以使用它去请求来自特定资源的数据。该资源可以是数据库、blob存储或其他类型的数据资源。
此方法仅用于请求数据,而不能更改或添加新数据。如果需要向用户显示一些他们的信息,那你就可以使用此方法。不过要注意,请勿将这种方法与敏感信息一起使用,否则可能会被黑客截获,造成关键数据泄露等风险。
POST
这是最常用的HTTP请求方法之一,因为它是你接受用户输入并将数据发送到服务器的方式。例如用户创建新帐户时,这意味着需要向服务器发送POST请求。如果有人在网站上购买商品时,则使用的也是POST方法。
信息从前端到后端的传输通常与POST方法有关,它通常与HTML表单(Form)一起使用。此外,你也会在很多API场景中大量使用它们。不过必须小心POST请求,多次提交可能会重复提交表单,导致一些数据问题。
PUT
PUT请求与POST请求非常相似,它用于创建新资源或更新现有资源。与POST的主要区别在于调用该方法时所执行的操作。与POST方法不同的是,多次调用PUT每次都会对数据资源产生相同的影响,但如果多次调用POST请求,则可能会导致重复数据或错误数据。
如果某个资源(例如Blob存储)已经有了你要准备创建的数据的实例,则只需对其进行更新。但如果你使用POST请求,可能会得到重复的版本而不是更新的版本。
HEAD
HEAD请求与GET请求类似,但它不返回响应主体,这意味着你将无法看到请求的详细结果。
HEAD请求的最常见用法是当你尝试决定是否下载大文件时,可以执行HEAD请求,以向用户显示要下载的文件,然后根据他们的响应,可以运行GET方法或不执行任何操作。这种办法可以为你节省一些带宽,尤其是在用户决定不下载文件的情况下。
OPTIONS
如果你已有一些现有代码,但不确定它支持哪种请求方法时,则可使用OPTIONS方法进行检查。发出此请求后,Web服务器将会返回其支持的其他HTTP请求方法的列表。如果你要弄清楚某个方法应该用PUT还是POST请求,那可能会有所帮助。
如果你正在使用API,并且需要查看可以使用的方法,这也将很有帮助。获得服务器允许的HTTP请求方法列表后,就可以开始执行所需的操作。
后记
还有一些其他的方法,例如DELETE等,以上介绍的主要是常用的HTTP方法。
虽然HTTP请求是我们一直使用的东西,但是几乎是无意识的,我们感受不到。不过,作为开发者的我们,要想编写出合理的程序,尤其是在RESTful的开发模式中,更需要了解如何使用它们,并对其背后的概念有所了解。加油!
Http Method