浅析application/x-www-form-urlencoded和multipart/form-data的区别


Posted in PHP onJune 22, 2014

在Form元素的语法中,EncType表明提交数据的格式

用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。

下边是说明:

application/x-www-form-urlencoded : 窗体数据被编码为名称/值对。这是标准的编码格式。

multipart/form-data : 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。

text/plain : 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。

补充

form的enctype属性为编码方式,常用有两种: application/x-www-form-urlencoded 和 multipart/form-data , 默认为application/x-www-form-urlencoded 。

当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。

当action为post时候,浏览器把form数据封装到http body中,然后发送到server。

如果没有 type=file 的控件,用默认的 application/x-www-form-urlencoded 就可以了。

但是如果有 type=file 的话,就要用到 multipart/form-data 了。浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file)、Content-Type(默认为text/plain)、name(控件name)等信息,并加上分割符(boundary)。

PHP 相关文章推荐
在字符串中把网址改成超级链接
Oct 09 PHP
php完全过滤HTML,JS,CSS等标签
Jan 16 PHP
php中将网址转换为超链接的函数
Sep 02 PHP
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 PHP
php遍历文件夹下的所有文件和子文件夹示例
Mar 20 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 PHP
PHP实现对xml的增删改查操作案例分析
May 19 PHP
php实现session共享的实例方法
Sep 19 PHP
laravel5.6实现数值转换
Oct 23 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 PHP
PHP延迟静态绑定示例分享
Jun 22 #PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 #PHP
解决cPanel无法安装php5.2.17
Jun 22 #PHP
destoon设置自定义搜索的方法
Jun 21 #PHP
destoon后台网站设置变成空白的解决方法
Jun 21 #PHP
destoon常用的安全设置概述
Jun 21 #PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 #PHP
You might like
php实现用户在线时间统计详解
2011/10/08 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
python自动翻译实现方法
2016/05/28 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
Delphi CS笔试题
2014/01/04 面试题
社区国庆节活动方案
2014/02/05 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
电焊工岗位职责
2014/03/06 职场文书
好人好事演讲稿
2014/09/01 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
python基础之文件操作
2021/10/24 Python