【发布时间】:2012-06-19 04:34:18
【问题描述】:
我知道doGet()请求是在查询字符串中附加到请求URL的。但我不知道doPost()请求的概念。doPost如何向服务器请求发布信息。
请指导我了解doPost请求的工作概念...
【问题讨论】:
-
你可以在这里找到答案stackoverflow.com/a/2349741/420613
我知道doGet()请求是在查询字符串中附加到请求URL的。但我不知道doPost()请求的概念。doPost如何向服务器请求发布信息。
请指导我了解doPost请求的工作概念...
【问题讨论】:
post 请求通常用于向服务器发送数据,以及从服务器读取数据的请求。在 Post 请求中,数据是在 http 请求体中发送的,因此与 Get 相比,数据量可能非常大。如果浏览器触发 POST 请求(通常是表单提交),映射 Servlet 的 doPost 将被调用。 GET 和 POST 都调用了另一个重载方法 (service())
【讨论】:
在doPost() 中,数据未附加到 URL 中。
与doGet() 方法相比,它可以处理大量数据。
填写表格和提交是通过doPost()完成的,在提交用户名和密码时使用doPost()是安全的。
doGet() 和 doPost() 的标头和正文结构也有所不同。
【讨论】:
GET 和POST 的主要概念区别在于,GET 用于从服务器获取数据,POST 用于将数据更新到服务器。
一般POST具有以下属性:
x-www-form-urlencoded。这意味着,请求参数作为请求正文发送。并且服务器必须解析请求正文中的参数。GET 的默认值为 0,而 POST 则为直到流结束。GET 是 Idempotent 而 POST 是 Non-Idempotent。即,GET 失败的代理他们重试。但是,对于POST,他们不会重试。【讨论】:
doGet() 可以在客户端请求不打算更改存储数据时使用。
【讨论】: