JavaWeb - HTML表单提交数据 application/x-www-form-urlencoded 和 multipart/form-data 区别

简介: JavaWeb - HTML表单提交数据 application/x-www-form-urlencoded 和 multipart/form-data 区别

概述:

在 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)。



代码:

<!--multipart/form-data格式-->--${bound}
Content-Disposition: form-data; name="Filename"HTTP.pdf--${bound}
Content-Disposition: form-data; name="file000"; filename="HTTP协议详解.pdf"Content-Type: application/octet-stream%PDF-1.5filecontent%%EOF--${bound}
Content-Disposition: form-data; name="Upload"SubmitQuery--${bound}--
目录
相关文章
|
1月前
|
XML 前端开发 数据格式
请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
【2月更文挑战第22天】【2月更文挑战第67篇】请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
|
1月前
|
Python
DTL与普通的HTML文件的区别
DTL与普通的HTML文件的区别。
67 5
|
3月前
|
前端开发 容器
javaweb实训第一天上午——HTML和CSS(3)
类选择器 所有的标签都有一个class属性 我们为这个class设定一个值,然后再写选择器来匹配这一个值、
38 0
|
4月前
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
60 0
|
2月前
|
存储 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
48 0
|
7天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
3月前
|
存储 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)(下)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
29 0
|
3月前
|
XML 前端开发 JavaScript
javaweb实训第一天上午——HTML和CSS(2)
4.7 列表标签 列表标签分为有序列表与无序列表: 4.7.1无序列表 代码格式
235 0
|
3月前
|
Web App开发 开发框架 前端开发
javaweb实训第一天上午——HTML和CSS(1)
1.课程介绍 1.Html认识; 2.Html简单使用; 3.Html常用标签; 4.Css认识 5.Css使用
71 0
|
4月前
|
JavaScript 前端开发
【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM
【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM