Spring框架 – GET和POST之间的区别

我正在使用Spring Framework在JSP上开发一个网页,我知道GET和POST之间的区别,如果页面发送了POST动作; 在浏览器区域,似乎没有发送信息,而在GET中则恰恰相反。

在Spring框架中,我通过控制器发送和获取信息,在编写控制器之前,我使用Request映射;

@RequestMapping(value = "/pri/SuperUser/ResetPassword.qib",method = RequestMethod.GET) @Override public ModelandView function(Model model){ ... ... 

那么,在这种情况下使用GET和POST有什么区别。 除了在浏览器字段中看到发送的信息之外,应该有其他不同之处。

听起来你还没有完全理解GET / POST。

尝试将其视为Web应用程序:

GET A 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加密来完成此操作(单独的主题)

GET – 安全,幂等和可缓存

POST – 这些特征都不是

查看: GoogleDevelopers链接 (video)

该方法仅接受使用GET的方法。 您无法POST到此URL。

您将获得标准差异,例如您发送的数据此端点将在?var = value之后显示在浏览器URL中

因此,您可以执行获取请求… yoururl.com/pri/SuperUser/ResetPassword.qib

如果您的数据是保密的,最好使用POST方法,因为它不会反映在url上,与GET不同。

它与一般情况相同。 RequestMapping进程要么是GET要么是POST要么发送数据。

例如,如果您在浏览器中输入“DOMAIN / pri / SuperUser / ResetPassword.qib”并打开URL,那就是GET。

如果您从HTML页面提交带有POST方法的表单,那就是POST