get方法和post方法的区别:
- get方法是从服务器上获取资源;post方法是向服务器传送数据;
- get方法参数是通过url传递的,post方法是放在request body中;GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息;
- 长度限制不一样,get方法传送的数据量较小,不能大于2KB;post方法传送的数据量较大,一般被默认为不受限制;
- get方法安全性非常低;post方法较高;get请求参数会被完整保留在浏览器历史记录里,而post中的参数不会被保留;其他人可以从浏览器的历史记录中,读取传输参数,从而带来严重的安全问题;
- get请求只能进行url编码,而post支持多种编码方式;
- get方法幂等,因为get用于信息获取,对同一 URL的多个请求严格意义上应该返回同样的结果,没有改变服务器资源;post方法非幂等,可能会改变服务器上的资源的请求;
常用的请求方式:
get:向服务器查询某些信息,请求已被url识别的资源;简单说就是获取资源
post:传输实体文本,提交到服务器;修改服务器上的资源
put:传输文件,就像FTP协议的文件上传一样,要求传输的主体中包含文件内容,然后保存在请求url指定的位置;不过存在安全问题,一般不用
delete:指明客户端想让服务器删除某个资源,与put相反,按url删除指定资源
head:获得报文首部,用于确认URI的有效性及资源更新的日期时间等;与get方法的区别是,get方法有实体;head方法无实体
options:询问支持的方法,客户端询问服务器可以提交哪些请求方法