【问题标题】:Can we use only HTTP POST and and get rid of HTTP GET?我们可以只使用 HTTP POST 而摆脱 HTTP GET 吗?
【发布时间】:2021-07-10 20:13:16
【问题描述】:

我是 ASP.NET MVC 的新手。我正在使用 http POST 进行自定义验证。最近了解到httpPOST和httpGET都是用来向服务器发送数据的。 HTTP POST 更安全,而 http GET 安全性较低,因为它在查询字符串中发送数据。

那我想知道,有没有可能在我的项目中完全摆脱HTTP GET,因为它的功能类似于http POST?我试过了,但是一旦我开始调试项目,它就会立即出错。它说“找不到资源。”。我很迷惑。请帮忙。

【问题讨论】:

  • 您能发布一下您是如何尝试摆脱 GET 请求的吗?

标签: asp.net-mvc http-post http-get


【解决方案1】:

我建议查看 Http 方法 - MDN

由于您刚刚开始,正确的做法是使用 GET 获取数据(例如加载表单)并使用 POST 更新数据(将表单提交到服务器)。

如果您正在处理的应用程序是用普通的 ASP.NET MVC 编写的,那么完全避免 GET 是不可能的(因为它被浏览器用来加载应用程序页面/视图)。

一旦您准备好迁移到 REST API,您可能想要更深入地探索 PUT、DELETE 和其他方法

【讨论】:

  • 感谢您的回答。但是你能详细说明一下吗
  • 我的意思是 GET 请求是完全正常的,拥有它们很好,但是您需要确保 GET 请求不会更改任何数据(除非您跟踪上次活动等内容) )。在 ASP.NET MVC 中加载编辑表单时,通常使用 GET 请求加载其初始视图并显示数据。在表单提交时,您可以发出 POST 请求来更新它。
  • 浏览器默认使用 GET 加载页面 - 这很可能是您在尝试打开不支持 GET 的页面(也称为调用控制器操作)时收到上述 404 错误的原因。我能想到的唯一解决方法是将应用程序转换为 SPA(例如 Angular 应用程序) - 这样您就可以使用 GET 加载所有必要的资源,然后发出 POST 请求以加载/创建数据和 PUT/DELETE,以修改/删除.即使在这种情况下,我仍建议使用 GET 从服务器获取数据,因为它符合 REST 方法
猜你喜欢
  • 2014-03-31
  • 2019-12-07
  • 2018-10-08
  • 2010-10-26
  • 2017-10-05
  • 1970-01-01
  • 1970-01-01
  • 2019-11-18
  • 1970-01-01
相关资源
最近更新 更多