HTML 表单用于搜集不同类型的用户输入,是页面与WEB服务器交互过程中最重要的信息来源。
1.简介
1.1创建表单<form></form>
标记属性
method:设置表单的提交方式,GET或POST
action:指向处理表单的URL(相对位置或绝对位置)
1.2表单元素
输入域标记<input>
常用参数
type:输入域类型,有text,password,file,image,submit等
name,value等
选择域标记<select><option>
文字域标记<textarea>
2.提交和获取表单数据GET和POST
2.1传递参数
get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址,用户看不到这个过程。
2.2获取变量
对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。
2.3.传输数据量
Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好;而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB字节,IIS 5中为 100 KB 字节。
2.4.窗体顶端
<form method="get" action="a.asp?b=b">跟<form method="get" action="a.asp">是一样的,
method为get时action页面后边带的参数列表会被忽视;而<form method="post" action="a.asp?b=b">跟<form method="post" action="a.asp">是不一样的。
建议:除非你肯定你提交的数据可以一次性提交,否则请尽量用 Post 方法。
2.5.安全性
get安全性非常低,post安全性较高, Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码,所以表单提交建议使用 Post 方法;Post 方法提交的表单页面常见的问题是,该页面如果刷新的时候,会弹出一个对话框 。
建议:出于安全性考虑,建议最好使用 Post 提交数据。