Http中的8种方法,安全和幂等

蔚落 2023-06-30 09:23 155阅读 0赞

HTTP/1.1 规定了八种方法,单词都必须是大写的形式

1.GET:获取资源,可以理解为读取或者下载数据;

2.HEAD:获取资源的元信息,即获取响应头。

3.POST:向资源提交数据,相当于写入或上传数据;可以理解为新建(create)

4.PUT:类似 POST;可以理解为更新,修改

5.DELETE:删除资源;

6.CONNECT:建立特殊的连接隧道;

7.OPTIONS:列出可对资源实行的方法;

8.TRACE:追踪请求 - 响应的传输路径。

下面是总结:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E2NjY2Nl8_size_16_color_FFFFFF_t_70

其实实际开发中掌握GET,HEAD,POST,PUT就行了

接下来我们看看安全和幂等

安全是指方法不会“破坏”服务器上的资源,即不会对服务器资源造成实质的修改

按照这个定义,只有 GET 和 HEAD 方法是“安全”的,因为它们是“只读”操作,只要服务器不故意曲解请求方法的处理方式,无论 GET 和 HEAD 操作多少次,服务器上的数据都是“安全的”。而 POST/PUT/DELETE 操作会修改服务器上的资源,增加或删除数据,所以是“不安全”的。

而 POST/PUT/DELETE 操作会修改服务器上的资源,增加或删除数据,所以是“不安全”的。

幂等意思是多次执行相同的操作,结果也都是相同的,即多次“幂”后结果“相等”。

很显然,GET 和 HEAD 既是安全的也是幂等的,DELETE 可以多次删除同一个资源,效果都是“资源不存在”,所以也是幂等的。

PUT 是“替换或更新数据”,多次更新一个资源,资源还是会第一次更新的状态,所以是幂等的。

POST 是“新增或提交数据”,多次提交数据会创建多个资源,所以不是幂等的。

总结:

幂等:GET、HEAD、DELETE、PUT

非幂等:POST

发表评论

表情:
评论列表 (有 0 条评论,155人围观)

还没有评论,来说两句吧...

相关阅读