📜  了解 HTML 表单编码:URL 编码和多部分表单

📅  最后修改于: 2021-11-08 06:47:00             🧑  作者: Mango

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’替换。