Post和Get的区别

HTTP请求类型
HTTP(超文本传输协议)的设计目的是保证客户机与服务器之间的通信。Http的工作方式是客户机与服务器之间的请求-应答协议。客户端想服务器提交HTTP请求,服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。
简单理解,HTTP协议就是一种标准,规范,建议大家根据自己的需求去采用合适的类型。
HTTP请求主要有四种:Get、Post、Put、Delete、
一般来讲,分别对应这查、增、更、删四种操作,不过实际上四种操作一般情况下通过Get和Post就可以完成,所以用的最多的也是Get和Post。


Get和Post的请求方式有何区别
Get的请求方式是将数据附加在url之后,以?分开与url与数据。

xmlHttp.open("get","ajax?name="+ name,true) //get方式
xmlHttp.send(null);

而Post提交的数据是放在实体数据中,

xmlHttp.open("get","ajax,true) //post方式
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
xmlHttp.send(name="+ nam);

Get和Post的主要区别
Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
暂时对与这个区别的理解,就是Get是用来从数据库查询数据的,而Post是用来修改数据的,所以Post会将修改数据的信息传递到数据库。

Get和Post的安全性如何
对于从客户端到服务段传输的数据来说,Post更安全,因为get传输的数据放在请求的url中,而如今有很多服务器、代理服务器或者用户代理都会将请求url记录到日志文件中,然后放在某个地方,这样就容易被第三方看到。另外用户也可以在浏览器上直接看到提交的数据。而Post的所有操作对用户来说是不可见的。
但是若对于数据库来说,get更安全,因为Get只是查询数据,不会对数据库进行更改;而Post会修改数据库。


最后在附件一个新学到的概念:幂等性。
幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。
在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。
幂等性的简单理解就是同一url请求应该返回同样的结果。

猜你喜欢

转载自blog.csdn.net/ldb987/article/details/79605036