2023-02-17 550
我一直在Microsoft的ASP.NET MVC教程中工作,最终在此页面
教程-32-cs.aspx
以下语句是在此页面底部的:
通常,您不想在调用修改Web应用程序状态的操作时执行HTTP GET操作.执行删除时,您要执行HTTP帖子,或者更好,或者更好的是HTTP删除操作.
这是真的吗?谁能为此声明背后的理由提供更详细的解释?
wikipedia 表示以下内容:
某些方法(例如,头部,获取,选项和跟踪)定义为安全,这意味着它们仅用于信息检索,不应更改服务器的状态.
相比之下,诸如Post,Put和Delete之类的方法旨在用于可能在服务器上造成副作用的操作
乔恩·斯基特(Jon Skeet)的答案是规范的答案.但是:假设您有一个链接:
href = "\myApp\DeleteImportantData.aspx?UserID=27"
和Google-Bot出现并为您的页面索引吗?那会发生什么?
获取通常没有副作用 – 换句话说,它不会改变状态.这意味着可以缓存结果,可以安全地制作书签等.
来自 http 1.1 rfc 1.1 rfc 2616 p>
实施者应意识到
软件代表用户在他们的
通过互联网的互动,以及
应该小心允许用户
注意他们可能会采取任何行动
采取可能出乎意料的
对自己或他人的意义.特别是,大会已经
确定了头和头
方法不应具有
采取行动的意义
比检索.这些方法应该
被视为”安全”.这允许用户
代理代表其他方法,
例如帖子,放置和删除,
特殊的方式,使用户成为
意识到一个事实可能是
要求不安全的动作.自然,不可能
确保服务器不
由于
执行GET请求;实际上,
一些动态资源认为
特征.重要的区别
这是用户没有要求
副作用,因此不能
对他们负责.
除了围绕着掌握的纯粹主义问题外,还有一个实用的方面:蜘蛛/机器人/爬行者等将跟随超链接.如果您将”删除”操作作为可以获取的超链接,那么Google可以轻松删除所有数据.请参阅” doom的蜘蛛”.
有了帖子,这不是风险.
以上所述是小编给大家介绍的为什么要用HTTP POST或DELETE来删除,而不是GET?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/34269.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态