一、关于表单
1、表单结构
表单有两个重要组成部分:一是描述表单的HTML源代码;而是用于处理用户在表单域中输入的信息的服务器端应用程序,如ASP.NET、JSP等。
表单使用的<from>标记是成对出现的,在首标记<form>和尾标记</form>之间的部分就是一个表单。
×基本语法
<form name=”…” action=”…” method=”…”>
<input>
……
<select></select>
……
</form>
×语法说明
(1)name:表单名称,表单命名之后就可以用脚本语言(如JavaScript或VBScript)对它进行控制。
(2)action:动作属性,指定处理表单信息的服务器端应用程序。该程序可以是ASP.NET程序,也可以是CGI、PHP等脚本。还可以是C、Visual Basic等编写的动态链接库等程序。
(3)method:方法属性,用于指定表单向服务器提交数据的方法,method的值可以为get或post,默认方式是get。
2、get方法与post方法
get方法与post方法是浏览器将表单信息提交给服务器程序的两种主要方法。
(1)get方法
使用get方法提交数据,浏览器将表单中的各个值添加到action指定的URL后(两者之间用问号进行分隔),并向服务器发送get请求,每个值之间用符号“&”链接。这种方法是可见的,传递的信息对于用户输入的敏感信息如密码、身份证号码等直接传输是不安全的。另外,不要对数量较多的表单使用get方法(IE地址栏最大URL长度是2083个字符,最大可以传递数据的长度是2048个字符)。
(2)post方法
使用post方法,浏览器首先与action属性中指定的表单处理服务器建立联系,一旦建立连接之后,浏览器就会按分段传输的方法将数据发送给服务器。
(3)get方法和post方法的比较
①get将表单中数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;post是将表单中的数据放在表单中的数据中,按照变量和值相对应的方式,传递到action所指向的URL。
②get是不安全的,因为在传输过程中,数据被放在请求的URL中,而现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中;然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到,而且,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。post的所有操作对用户来说都是不可见的。
③get传输的数据量小,主要是因为受URL长度限制;而post可以传输大量的数据,所以上传文件只能使用post。