GET和POST是 HTTP协议中的两种发送请求的方法
HTTP是hypertext transfer protocol(超文本传输协议)的简写, 它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。 客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。 一个完整的HTTP请求包括如下内容:一个请求行、若干消息头、以及实体内容 请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
HTTP协议实际上是基于RFC规范的,实际上GET和POST请求的语法是完全相同的,但是在RFC规范中,给GET请求和POST请求规定了语义,规定GET用来获取信息,POST用来发送信息
如果什么前提都没有,也就是不用任何规范限制的话,我们只考虑语法来说,这两个方式是没有任何区别的,只有名字不一样 如果考虑浏览器实现的RFC,或者说Web环境下的RFC的话,那么区别就很明显了
如果一个操作没有副作用,或者多次操作对资源产生的副作用相同,我们就说这个操作是幂等的
get方法用户获取资源,没有副作用,所以是幂等的;
post用于创建资源,是有副作用的,且副作用不同,所以post不是幂等的。(两次相同的POST请求会在服务器端创建两份资源,它们具有不同的URI)