Form表单提交的两种方式:method=post和get,两者区别如下:
1、GET方法用来从服务器上获得数据,POST方法用来向服务器传递数据
2、GET请求的数据会显示在URL之后,数据在URL中可以看到,故安全性较低;POST通过HTTP post机制,把表单中各字段与其内容放置在HTTP包的包体(表头header)中,POST安全性高、所有操作对用户不可见
由于受URL长度限制,GET提交的数据最多只能是1024KB、数据量小;而POST理论上没有限制,适合传输较大量的数据
GET将表单中的数据安装key=value的形式,添加到action所指的url后面,使用"?"连接,多个变量之间用"&"连接,如 www.abc.com/index.php?a=hello&b=你好。用于简短字符、不需要安全保密的传输。
POST将表单中的数据放在form的数据体中,按照变量和值对应的方式,传递到action所指的url。用于用户登录、大数据传输,对数据需要保密、数据量大时使用较多。
3、对于GET方式,服务器端用Request.QueryString即可获取变量的值;对于POST方式,服务器端用Request.Form方式获取
4、GET是Form的默认方法。
使用POST传输的数据,可通过设置编码正确地转化中文;而GET传输的数据则没有变化。
建议:除非提交的数据可以一次性提交,否则尽量使用POST;处于安全性考虑,也尽量使用POST。
注意: 在搜索框(尤其移动端)中,要使用GET方法提交Form。
如果使用POST,搜索结果出来后,点击进入一个详细页面,再返回时(理论上应返回到搜索结果页面),但却提示:确认提交表单。