当前位置:网站首页>How to submit data through post
How to submit data through post
2022-07-06 17:38:00 【Wzzzzzzx】
When it comes to uploading data , We will naturally say Json/XML, But these are data formats . But the way of data uploading has been ignored by me all the time . The current understanding is , Four common schemes are commonly used to encode local data , adopt Content-Type To specify the data upload method , At the same time through Content-Length To specify the data length .
application/x-www-form-urlencoded
This should be the most common way to submit . In native forms From, If not set enctype attribute , This scheme will be adopted by default to upload data . Its HTTP The requested information is as follows :
POST http://www.example.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
titile=%E6%B5%8B%E8%AF%95&body=%E6%B5%8B%E8%AF%95
It can be seen that ,Body Part of the data goes through URL After transcoding , With key1=val1&key2=val2 In the form of . In many cases , This is all Post Default submission method , But because it uses three characters to represent a Non-ASCII character , So the efficiency is relatively low .
multipart/form-data
Form enctype Attribute currently has two attribute values , One default is application/x-www-form-urlencoded, The other way is multipart/form-data 了 . This sending method is designed to support sending binary data to the server . Its HTTP The requested information is as follows :
POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=aHR0cDovL3d3dy5leGFtcGxlLmNvbQ
--aHR0cDovL3d3dy5leGFtcGxlLmNvbQ
Content-Disposition: form-data; name="city"
Test
--aHR0cDovL3d3dy5leGFtcGxlLmNvbQ
Content-Disposition: form-data; name="file"; filename="test.png"
Content-Type: image/png
Content-Transfer-Encoding: binary
PNG ... content of test.png ...
--aHR0cDovL3d3dy5leGFtcGxlLmNvbQ--
As you can see from the above example , The format of this sending method includes multiple Part, Every Part Use randomly generated --boundary To segment , The last line uses --boundary-- ending . Every Part Must contain a Content-Disposition Field , This field contains a type and name Parameters of , If there are files uploaded , We need another one filename Parameters of , among type The value is form-data. Here you can also see the sending pictures Part It also uses Content-Type, If it can be the type of binary file when sending , Then the corresponding type value will be filled , If you can't recognize it , Will adopt application/octet-stream As type value , If multiple documents are summarized into one form item , Will use multipart/mixed As attribute value . At the same time , If Part The content of is the same as the default encoding In a different way , Will have a Content-Transfer-Encoding Property to specify the Part Coding method of .
application/json and text/xml
These two methods can be seen from the name of its transmission content , Not much .
Reference resources
https://imququ.com/post/four-ways-to-post-data-in-http.html
https://www.jianshu.com/p/29e38bcc8a1d
边栏推荐
- Application service configurator (regular, database backup, file backup, remote backup)
- MySQL advanced (index, view, stored procedure, function, password modification)
- Display picture of DataGridView cell in C WinForm
- Automatic operation and maintenance sharp weapon ansible Playbook
- How does wechat prevent withdrawal come true?
- Uipath browser performs actions in the new tab
- mysql的合计/统计函数
- TCP connection is more than communicating with TCP protocol
- Essai de pénétration du Code à distance - essai du module b
- C# WinForm系列-Button简单使用
猜你喜欢

Distributed (consistency protocol) leader election (dotnext.net.cluster implements raft election)
![Case: check the empty field [annotation + reflection + custom exception]](/img/50/47cb40e6236a0ba34362cdbf883205.png)
Case: check the empty field [annotation + reflection + custom exception]
![[getting started with MySQL] fourth, explore operators in MySQL with Kiko](/img/11/66b4908ed8f253d599942f35bde96a.png)
[getting started with MySQL] fourth, explore operators in MySQL with Kiko

C# WinForm中DataGridView单元格显示图片

PySpark算子处理空间数据全解析(4): 先说说空间运算

The problem of "syntax error" when uipath executes insert statement is solved

微信防撤回是怎么实现的?

February database ranking: how long can Oracle remain the first?

【MySQL入门】第四话 · 和kiko一起探索MySQL中的运算符

【逆向】脱壳后修复IAT并关闭ASLR
随机推荐
信息与网络安全期末复习(完整版)
[reverse primary] Unique
Junit单元测试
【MySQL入门】第三话 · MySQL中常见的数据类型
[getting started with MySQL] fourth, explore operators in MySQL with Kiko
Development and practice of lightweight planning service tools
【MySQL入门】第一话 · 初入“数据库”大陆
JVM garbage collection overview
vscode
JVM 垃圾回收器之Serial SerialOld ParNew
Application service configurator (regular, database backup, file backup, remote backup)
Take you hand-in-hand to do intensive learning experiments -- knock the level in detail
07个人研发的产品及推广-人力资源信息管理系统
Vscode replaces commas, or specific characters with newlines
学 SQL 必须了解的 10 个高级概念
pip install pyodbc : ERROR: Command errored out with exit status 1
华为认证云计算HICA
07 personal R & D products and promotion - human resources information management system
Akamai talking about risk control principles and Solutions
虚拟机启动提示Probing EDD (edd=off to disable)错误