Http中的8种方法,安全和幂等
HTTP/1.1 规定了八种方法,单词都必须是大写的形式
1.GET:获取资源,可以理解为读取或者下载数据;
2.HEAD:获取资源的元信息,即获取响应头。
3.POST:向资源提交数据,相当于写入或上传数据;可以理解为新建(create)
4.PUT:类似 POST;可以理解为更新,修改
5.DELETE:删除资源;
6.CONNECT:建立特殊的连接隧道;
7.OPTIONS:列出可对资源实行的方法;
8.TRACE:追踪请求 - 响应的传输路径。
下面是总结:
其实实际开发中掌握GET,HEAD,POST,PUT就行了
接下来我们看看安全和幂等
安全是指方法不会“破坏”服务器上的资源,即不会对服务器资源造成实质的修改
按照这个定义,只有 GET 和 HEAD 方法是“安全”的,因为它们是“只读”操作,只要服务器不故意曲解请求方法的处理方式,无论 GET 和 HEAD 操作多少次,服务器上的数据都是“安全的”。而 POST/PUT/DELETE 操作会修改服务器上的资源,增加或删除数据,所以是“不安全”的。
而 POST/PUT/DELETE 操作会修改服务器上的资源,增加或删除数据,所以是“不安全”的。
幂等意思是多次执行相同的操作,结果也都是相同的,即多次“幂”后结果“相等”。
很显然,GET 和 HEAD 既是安全的也是幂等的,DELETE 可以多次删除同一个资源,效果都是“资源不存在”,所以也是幂等的。
PUT 是“替换或更新数据”,多次更新一个资源,资源还是会第一次更新的状态,所以是幂等的。
POST 是“新增或提交数据”,多次提交数据会创建多个资源,所以不是幂等的。
总结:
幂等:GET、HEAD、DELETE、PUT
非幂等:POST
还没有评论,来说两句吧...