在研究 MVC 概念时,我了解到在“GET”操作中包含代码来更改服务器对象的状态(数据库更新等)并不是一个好习惯。
“缓存返回数据”已被给出作为其原因。
有人可以解释一下吗?
提前致谢!
这是 HTTP 标准规定的。 GET 动词应该是幂等且安全的。
9.1.1 安全方法
实施者应该意识到软件代表用户
他们通过互联网进行互动,并且应该小心允许
用户了解他们可能采取的任何可能会产生影响的操作
对自己或他人有意想不到的意义。
特别是,已经建立了 GET 和
HEAD 方法不应该具有采取行动的意义
除了检索之外。这些方法应该被认为是“安全的”。
这允许用户代理代表其他方法,例如 POST、PUT
并以特殊方式删除,以便用户了解
正在请求执行可能不安全的操作。
当然,不可能保证服务器不
执行 GET 请求时会产生副作用;在
事实上,一些动态资源认为这是一个功能。重要的
这里的区别是用户没有请求副作用,所以
因此不能对他们负责。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)