HTML 表单包含两种编码, URL Encoded Forms 和多部分 Forms 。 HTML 表单中的编码由名为“enctype ”的属性决定。此属性可以具有三个值:
- application/x-www-form-urlencoded:此值表示 URL(统一资源定位器)编码形式。默认情况下,它被分配给enctype属性。
- 多部分/格式数据:该值表示上午ultipart形式。它用于用户上传文件。
- text/plain:该值表示最新 HTML5 中新引入的一种表单,用于发送没有任何编码的数据。
URL 编码表单:使用这种类型的表单编码提交的数据是 URL 编码的,从它的名字就很清楚了。
例子:
HTML
URL Encoded Forms
HTML
Multipart Forms
上面的表单是使用POST请求提交给服务器的,提示它是一个body,这个表单中的body是URL编码的。它由(名称,值)对的扩展字符串创建。这些字符串的每一对都由&(与号)符号分隔,名称由= (等于)符号与“值”分隔。
-
对于上面的形式, (name, value)对如下。
username=GeeksforGeeks&password=GFG@123
-
在 URL 动作中传递的查询中的一些参数如下。
/urlencoded?firstname=Geeks&lastname=forGeeks
很明显,URL 编码的正文和查询参数看起来很相似。事实上,它们是相似的。
Multipart Forms:当用户在服务器上上传一些文件时使用这些类型的表单。
例子:
HTML
Multipart Forms
在上面的表单中,在username值中引入了一些空格,并且将表单中的 action 值更改为“ multipart/form-data ”以使用multipart forms的功能。
-
对于上面的形式,(name, value) 对如下
username=Geeks%20for%20Geeks&password=GFG@123
-
在 URL 动作中传递的查询中的一些参数如下。
/multipart?firstname=Geeks%20for%20&lastname=Geeks
从上面的查询参数和表单体中可以清楚地看到空格被’%20’替换。