以前作的java web项目,基本上只使用get和post的请求方式,可是如今新项目额外增长了put,delete,查了点资料,作个简单的总结。
一、GET-安全且幂等
get请求是用来获取数据的,只是用来查询数据,不对服务器的数据作任何的修改,新增,删除等操做。
在这里咱们认为get请求是安全的,以及幂等的。安全就是指不影响服务器的数据,幂等是指同一个请求发送屡次返回的结果应该相同。
特色:
get请求会把请求的参数附加在URL后面,这样会产生安全问题,若是是系统的登录接口采用的get请求,须要对请求的参数作一个加密。
get请求其实自己HTTP协议并无限制它的URL大小,可是不一样的浏览器对其有不一样的大小长度限制
二、POST-不安全且不幂等
post请求通常是对服务器的数据作改变,经常使用来数据的提交,新增操做。
特色:
post请求的请求参数都是请求体中
post请求自己HTTP协议也是没有限制大小的,限制它的是服务器的处理能力
三、PUT-不安全但幂等
put请求与post同样都会改变服务器的数据,可是put的侧重点在于对于数据的修改操做,可是post侧重于对于数据的增长。
四、DELETE-不安全但幂等
delete请求用来删除服务器的资源。
五、OPTIONS
options请求属于浏览器的预检请求,查看服务器是否接受请求,预检经过后,浏览器才会去发get,post,put,delete等请求。至于什么状况下浏览器会发预检请求,浏览器会会将请求分为两类,简单请求与非简单请求,非简单请求会产生预检options请求。
关于options请求具体详细的能够观看另外一位做者的这篇文章:https://www.jianshu.com/p/5cf82f092201
另外:这些不一样方式的请求形式,只是一种规范定义而已,并非说get请求没法修改服务器的数据,只是一种规范,好比你也能够全部的请求都经过post方式来访问,实现功能上面没有任何问题,只是说这种作不符合了规范而已,咱们日常编码仍是尽可能符合规范比较好。java
转自:https://blog.csdn.net/zhenwei1994/article/details/84399999web
浏览器