一直在测试REST模式的WEB SERVICE接口,客户端的HTTP的请求方式通常分为四种:GET、POST、PUT、DELETE,这四种请求方式有什么不一样呢。简单的说,GET就是获取资源,POST就是建立资源,PUT就是更新资源,DELETE就是删除资源。具体来讲:数据库
PUT:PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操做同样,用来修改数据的内容,可是不会增长数据的种类等,也就是说不管进行多少次PUT操做,资源不会增长。浏览器
DELETE:DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操做。安全
GET:GET操做是安全的。所谓安全是指无论进行多少次操做,资源的状态都不会改变,GET只是访问和查看资源。服务器
POST:操做不是安全的,每次请求都会建立资源,当咱们屡次发出POST请求后,其结果是建立出了多个资源。还有一点须要注意的就是,建立操做可使用POST,也可使用PUT,区别在于POST 是做用在一个集合资源之上的(/uri),而PUT操做是做用在一个具体资源之上的(/uri/xxx),再通俗点说,若是URL能够在客户端肯定,那么就使用PUT,若是是在服务端肯定,那么就使用POST,好比说不少资源使用数据库自增主键做为标识信息,而建立的资源的标识信息究竟是什么只能由服务端提供,这个时候就必须使用POST。 测试
下面说说GET和POST的区别:code
一、GET请求的数据会附在URL以后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:getCitycode?lat=100.22&lon=35.33接口
POST把提交的数据则放置在是HTTP包的包体中。
二、在浏览器上,GET方式提交的数据是有限制的,例若有时候请求的URL太长,会返回错误;但若是是客户端GET请求,是没有数据的限制的。POST没有限制,可传较大量的数据。
三、POST的安全性要比GET的安全性高。这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不做数据修改,而这里安全的含义是真正的Security的含义,好比:经过GET提交数据,用户名和密码将明文出如今URL上,查看浏览器的历史纪录,就能够查看到GET请求的参数,好比登陆的账号密码、搜索关键字、我的信息等。资源