我正在为Ruby on Rails应用程序编写一个Web表单.表单有一个文本字段,一些复选框,一组单选按钮和两个文本框.
使用GET而不是POST有什么优缺点,反之亦然.我一直认为你应该使用GET来检索表单和POST来提交,但我知道你可以做到这两点.它真的有所作为吗?干杯.
<% form_tag({ :action => "create" }, :method => "get") do %>
Chris.. 18
GET请求始终添加到URL中,其中POST与请求正文一起提交.如您所知,两者都可用于检索和发送数据,但有一些区别:
由于GET是使用URL发送的,因此您将大小限制为查询字符串的最大长度.这在浏览器之间有所不同,但通常至少约为2000个字符(在现代浏览器上).这通常使其不适合发送大型文本字段(例如电子邮件).
当GET命令在查询字符串中公开时,用户可以很容易地修改它
由于GET命令位于查询字符串中,因此用户可以更轻松地为特定页面添加书签,假设您的页面将使用存储的某些状态变量.
POST通常更适合发送数据,因为它适合请求的性质,主要是因为上述限制.
simplyharsh.. 5
HTML规范在技术上定义了两者之间的差异,因为"GET"意味着表单数据将被(通过浏览器)编码为URL,而"POST"意味着表单数据将出现在消息正文中.
但是使用建议是当表单处理是"幂等"时应该使用"GET"方法,并且仅在这些情况下使用.作为简化,我们可以说"GET"基本上只是用于获取(检索)数据,而"POST"可能涉及任何事情,例如存储或更新数据,订购产品或发送电子邮件.
GET请求始终添加到URL中,其中POST与请求正文一起提交.如您所知,两者都可用于检索和发送数据,但有一些区别:
由于GET是使用URL发送的,因此您将大小限制为查询字符串的最大长度.这在浏览器之间有所不同,但通常至少约为2000个字符(在现代浏览器上).这通常使其不适合发送大型文本字段(例如电子邮件).
当GET命令在查询字符串中公开时,用户可以很容易地修改它
由于GET命令位于查询字符串中,因此用户可以更轻松地为特定页面添加书签,假设您的页面将使用存储的某些状态变量.
POST通常更适合发送数据,因为它适合请求的性质,主要是因为上述限制.
HTML规范在技术上定义了两者之间的差异,因为"GET"意味着表单数据将被(通过浏览器)编码为URL,而"POST"意味着表单数据将出现在消息正文中.
但是使用建议是当表单处理是"幂等"时应该使用"GET"方法,并且仅在这些情况下使用.作为简化,我们可以说"GET"基本上只是用于获取(检索)数据,而"POST"可能涉及任何事情,例如存储或更新数据,订购产品或发送电子邮件.