我正在使用 Spring Framework 在 JSP 上开发网页。我通常知道 GET 和 POST 之间的区别。如果页面通过POST发送信息,发送的信息在URL中是不可见的,在GET中是可见的。
我目前正在通过控制器发送和接收信息,就在编写我的控制器之前,我使用请求映射如下:
@RequestMapping(value = "/pri/SuperUser/ResetPassword.qib",method = RequestMethod.GET)
@Override
public ModelandView function(Model model){
...
...
那么,在这种情况下使用 GET 和 POST 有什么区别呢?除了在 URL 中看到发送的信息之外,应该还有其他不同之处。
原文由 Burak T 发布,翻译遵循 CC BY-SA 4.0 许可协议
听起来您还没有完全理解 GET/POST。
对于 Web 应用程序,可以这样想:
GET 应该使用 GET 方法从服务器检索数据。对同一个 URL 的多个 get 请求应该是有效的,并且服务器端不应更改任何数据。
但是,这并不意味着不可能通过 GET 请求更改服务器端的内容,但您应该尝试确保您遵循标准。
POST 当您需要在服务器端创建、更新或删除数据时,应使用 POST 方法。多次发出相同的 POST 请求可能不安全,并可能导致数据不一致。 POST 请求的内容在请求正文中发送。因此,您在浏览器中看不到参数,但如果您愿意(即使使用浏览器开发人员工具)也很容易看到它们,因此它并不比 GET 请求更安全。
注意:这是它们在 WEB 上的一般使用方式,它不是实际规范,因为还有其他方法可用。如果您正在创建 REST 服务,您将需要探索其他方法
(简而言之 - POST - 用于创建数据,PUT - 用于更新数据,DELETE 用于删除数据)
可能值得阅读实际规范以获得完整的理解: http ://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
如果你确实想保护你的 HTTP 请求,那么这可以通过 HTTPS 使用 SSL 加密来完成(一个单独的主题)