我正在使用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有什么区别。除了在浏览器字段中看到发送的信息之外,应该有其他不同的东西。
答案 0 :(得分:19)
听起来你还没有完全理解GET / POST。
尝试将其视为Web应用程序:
获取强> 应使用GET方法从服务器检索数据。对同一URL的多个get请求应该是有效的,并且不应该在服务器端更改任何数据。
但是,这并不意味着无法在服务器端更改GET请求,但您应该尝试确保遵循标准。
发表强> 当您需要在服务器端创建,更新或删除数据时,应使用POST方法。多次发出相同的POST请求可能不安全,可能导致数据不一致。 POST请求的内容在请求正文中发送。因此,您没有在浏览器中看到这些参数,但如果您愿意(甚至使用浏览器开发人员工具),则很容易看到它们,因此它不比GET请求更安全。
注意:这是它们在WEB上的一般使用方式,它不是实际的规格,因为还有其他方法可用。如果要创建REST服务,则需要探索其他方法
(简而言之 - POST - 用于创建数据,PUT - 用于更新数据,DELETE用于删除数据)
可能值得阅读实际规范以获得完整的理解:http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
如果您确实想要保护您的HTTP请求,那么可以使用HTTPS上的SSL加密(单独的主题)来完成此操作
答案 1 :(得分:1)
答案 2 :(得分:0)
与一般情况相同。 RequestMapping
进程GET或POST发送数据。
E.g。如果您在浏览器中输入“DOMAIN / pri / SuperUser / ResetPassword.qib”并打开其获取的网址。
如果您使用POST方法从HTML页面提交表单,则为POST
答案 3 :(得分:0)
该方法仅接受使用GET的方法。您无法POST到此网址。
您会得到标准差异,例如您发送的数据此端点将在浏览器URL中显示?var = value
因此,您可以向... yoururl.com/pri/SuperUser/ResetPassword.qib
答案 4 :(得分:0)
如果您的数据是保密的,最好使用 POST 方法,因为它不会反映在网址上,与 GET 不同。