通过表单或URL传递值

时间:2011-08-03 06:11:38

标签: php javascript ajax

我有一个非常快速的问题,答案可能是个案的基础,但总的来说,你认为什么是从前端到后端传递值的更有效方法。从客户端到PHP。通过表单或通过URL传递它会更好吗?我知道安全性对于表单值来说是一个很大的优势,但它更有效吗?哪个更快?我希望这个问题有道理。谢谢你们。

3 个答案:

答案 0 :(得分:1)

我认为无论哪种方式都具有相同的安全级别。 即使您通过带有post方法的表单发送它,如果您检查http标题,它仍然可见。

我认为通过GET(url)传递数据量有一个限制,并且它小于POST的限制(你称之为表单)。 如果您使用GET(url)传递它将更加SEO友好,它可以为用户提供书签或返回特定州或页面的方式。

你应该看when-do-you-use-post-and-when-do-you-use-get

答案 1 :(得分:1)

  • POST(在这种情况下,来自表单)和GET请求都可以通过标头和/或网址完全可见,即同样糟糕的安全性

  • 您可以声称GET请求通过其可见性(对于新手用户)更易于操作

  • 两种请求类型存在巨大的大小限制差异:~2K(GET,取决于浏览器和服务器)与服务器上配置的“无限制”(POST

  • 当请求是非幂等的时,
  • POST 应该使用,即每次执行时都会导致服务器状态发生变化(more 1 。推论,GET请求不应产生任何副作用(idempotent甚至无效)。

  • GET请求包含网址中的所有数据,因此可以为其添加书签。

W3C {/ 3}}提供了更多信息


1)这通常是“浏览器要求重新提交我的数据”类型问题的原因。

答案 2 :(得分:0)

请注意,GET请求用于请求数据,POST请求用于更改服务器数据/状态。键入URL也是一个GET请求,所以它真的取决于客户端正在做什么,他是否要求数据?或者他想改变数据?现在,在使用GET的情况下,是否会从用户收集参数(?name = value& name2 = value)?如果是,则使用表单,如果不是,则使用超链接。

哪个更快?如果使用form(GET方法),浏览器必须处理用户输入以构造URL。如果用户只是在地址栏上输入了URL,或者他跟着链接,那么它会更快,浏览器只会尝试访问该网址。