深入理解 HTML 表单编码:URL 编码与 Multipart 表单

HTML 表单主要包含两种编码方式:URL 编码表单Multipart 表单。HTML 表单的编码方式由一个名为 ‘enctype‘ 的属性决定。该属性可以取以下三个值:

属性

描述

application/x-www-form-urlencoded

表示 URL 编码表单。这是发送表单数据时的默认 enctype。

multipart/form-data

表示 Multipart 表单。用于用户上传文件。

text/plain

表示 HTML5 中引入的表单类型,用于发送未经任何编码的数据,保留空格。## URL 编码表单:

URL 编码是将字符串转换为有效 URL 格式的过程。正如其名,使用这种表单编码提交的数据都会经过 URL 编码。

示例: 本示例演示了如何在 HTML 文档中使用 URL 编码表单。





    
    URL Encoded Forms



    
        
        
        
    



输出:

!URL Encoded Form Example

上面的表单通过 POST 请求提交给服务器,这意味着它包含一个请求体,且该请求体是 URL 编码的。它是由一串扩展的 (name, value) 对组成的。每一对字符串之间用 & 符号分隔,namevalue 之间用 = 号分隔。

对于上面的表单,其 (name, value) 对如下所示。

username=GeeksforGeeks&password=GFG@123

在 URL action 中传递的一些查询参数如下。

/urlencoded?firstname=Geeks&lastname=forGeeks

可以清楚地看到,URL 编码的请求体和查询参数看起来非常相似。事实上,它们就是一样的。

Multipart 表单:

这种表单主要用于用户需要将文件上传到服务器的场景。要将上面的表单转换为 Multipart 表单,我们要做的就是将表单标签的 INLINECODE7e8a19bb 属性从 INLINECODEd398671a 更改为 multipart/form-data

示例: 本示例演示了如何在 HTML 文档中使用 Multipart 表单。





    
    Multipart Forms



    
        
        
        
    



输出:

!Multipart Form Example

在上面的表单中,我们在 username 的值中加入了一些空格,并将表单的 action 值更改为 ‘multipart/form-data‘ 以使用 Multipart 表单的功能。

对于上面的表单,其 (name, value) 对如下所示:

username=Geeks%20for%20Geeks&password=GFG@123

在 URL action 中传递的一些查询参数如下。

/multipart?firstname=Geeks%20for%20&lastname=Geeks

从上面的查询参数和表单主体中可以清楚地看到,空格被替换为了 ‘%20‘。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/27419.html
点赞
0.00 平均评分 (0% 分数) - 0