HTML 表单
In HTML, forms are areas delimited by a <form> tag, containing text input boxes, buttons, check boxes, and other features of a graphical user interface. Web 应用程序使用表单来供用户提供要发送到服务器的数据。
在表单中,用户可与之交互以提供数据的元素称为表单字段。 HTML 中对每个表单字段赋予一个名称,这会将它识别到服务器应用程序,但是对于用户不可视。
& 字符分开)将信息传输给服务器应用程序。 每个名称是表单字段的名称,而值是用户的操作产生的数据。 例如,以下是一个表单,它包含两个文本输入框以供用户输入其名字和姓氏。firstname=Maria&lastname=Smith- 当方法是 GET 时,表单数据在 URL 的查询字符串中传输。
- 当方法是 POST 时,在消息体中传输表单数据。
编码表单数据所需的字符集由 CHARACTERSET 选项指定,它必须与相应的 HTML 表单确定的表单编码相匹配。 请参阅 如何确定客户机编码 以获取更多信息。
表单数据通常用转义的特殊字符传输。 保留和排除的字符 说明了转义的目的。
如果用 GET 方法定义表单,那么因为数据作为 URL 中的查询字符串发送,所以必须总是转义保留或排除的字符。
如果用 POST 方法定义表单,那么数据在消息体中发送。 然而,如 HTML 2.0 规范中定义,所有表单的缺省编码类型是 application/x-www-form-urlencoded。 请参阅 http://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2.1。 此编码用于具有 POST 方法的表单时,虽然数据在消息体中发送,但是也将转义保留或排除的字符,就如它们在 URL 中的情形一样。
If the alternative encoding type multipart/form-data is specified for the form (which is done using the ENCTYPE attribute on the HTML <form> tag), non-ASCII characters in field names must be escaped, but non-ASCII characters in field values do not need to be escaped. 该数据也出现在消息体的一系列独立部分中。 较旧的应用程序可能不支持此编码。 CICS® 支持此功能。 multipart/form-data 编码在 Internet Society 和 IETF Request for 意见文档 RFC 1867 中描述, Form-based File Upload in HTML (https://www.ietf.org/rfc/rfc1867.txt)。