HTTP协议上传boundary确定&下载content-disposition理解
HTTP协议上传文件-协议
上传文件需要将form标签 的 ENCTYPE 属性设置为 multipart/form-data属性, 与
application/x-www-form-urlencoded类型不同, 此类型专门设计用来上传文件, 而前者用来传输数据,
可以允许若干 控件域 同时上传其值,
每个域值使用 boundary 分割:
<FORM ACTION="http://server.dom/cgi/handle"
ENCTYPE="multipart/form-data"
METHOD=POST>
What is your name? <INPUT TYPE=TEXT NAME=submitter>
What files are you sending? <INPUT TYPE=FILE NAME=pics>
</FORM>
The client might send back the following data: Content-type: multipart/form-data, boundary=AaB03x --AaB03x
content-disposition: form-data; name="field1" Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain ... contents of file1.txt ...
--AaB03x--
详解见:
http://www.faqs.org/rfcs/rfc1867.html
HTTP协议上传文件-boundary选取
A
boundary is selected that does not occur in any of the data. (This
selection is sometimes done probabilisticly.)
需要不能再文件中出现, 但实践上不能扫描整个文件,再确定boundary, 所以往往是 生成一个随机值。
具有一定的概率性, 随着随机值的长度变化, 所以冲突概率很低。
HTTP协议下载文件-协议
下载报文头:
Content-Type: image/jpeg
Content-Disposition: inline;filename=hello.jpg
Content-Description: just a small picture of me
下载不要包括一个 头域:
Content-Disposition 属性是作为对下载文件的一个标识字段, 是对下载文件的显示方式的描述。
脚本设置方法:
http://blog.csdn.net/androidmi/article/details/7519243
HTTP协议下载文件-content-disposition
content-disposition来自于 MIME (http://www.faqs.org/rfcs/rfc1521.html)
此协议仅仅规定报文传输过程, 但是并没有规定,传输的内容对于接收端如何显示处理。
[RFC 1521] specifies a standard format for encapsulating multiple
pieces of data into a single Internet message. That document does not
address the issue of presentation styles; it provides a framework for
the interchange of message content, but leaves presentation issues
solely in the hands of mail user agent (MUA) implementors.
http://www.rfc-editor.org/rfc/rfc1806.txt
此报文头content-disposition, 对报文体进行描述, 规定了接收端的显示处理行为。
此报文头的值有两种, attachment 和 inline, 分别表示保存 还是 直接显示。
Two common ways of presenting multipart electronic messages are as a
main document with a list of separate attachments, and as a single
document with the various parts expanded (displayed) inline. The
display of an attachment is generally construed to require positive
action on the part of the recipient, while inline message componentsare displayed automatically when the message is viewed.
attachment and inline
disposition := "Content-Disposition" ":"
disposition-type
*(";" disposition-parm) disposition-type := "inline"
/ "attachment"
/ extension-token
; values are not case-sensitive disposition-parm := filename-parm / parameter filename-parm := "filename" "=" value;
disposition英文释义
http://www.ldoceonline.com/dictionary/disposition
dis‧po‧si‧tion formal
1 [countable usually singular] a particular type of character which makes someone likely to behave or react in a certain way [= temperament]
of a nervous/sociable/sensitive etc disposition (=having a nervous etc character)
The film is not suitable for people of a nervous disposition.
have a cheerful/sunny etc disposition (=have a happy character)
2 [singular] a tendency or willingness to behave in a particular way [= inclination]
have/show a disposition to do something
Neither side shows the slightest disposition to compromise.
Most children have a disposition towards obedience.
3 [countable usually singular] the position or arrangement of something in a particular place
a map showing the disposition of American forces
4 [uncountable] formal the way in which something is dealt with or used
disposition of
A solicitor advised him as to the disposition of the money.
5 [uncountable and countable] law the act of formally giving property to someone:
the disposition of assets on death
content-disposition 中 disposition 的含义是
4 [uncountable] formal the way in which something is dealt with or used
disposition of
即 content-disposition === the disposition of the message content 对消息内容的处理方式, inline 直接展示, attachment 以附件方式存储。
HTTP协议上传boundary确定&下载content-disposition理解的更多相关文章
- http 协议上传文件multipart form-data boundary 说明--转载
原文地址:http://xixinfei.iteye.com/blog/2002017 含义 ENCTYPE="multipart/form-data" 说明: 通过 http 协 ...
- Jmeter和LR上传文件和下载
Jmeter和LR上传文件和下载 背景: 在某个申请业务中,需要上传附件文件,然后才能提交该申请 遇到的问题: 1, 在使用Jmeter或者LR进行录制时,无法录制到上传文件的请求,只能通过Fidd ...
- Android用http协议上传文件
http协议上传文件一般最大是2M,比较适合上传小于两M的文件 [代码] [Java]代码 001import java.io.File; 002import java.io.FileInp ...
- c++使用http协议上传文件到七牛云服务器
使用c++ http协议上传文件到七牛服务器时,比较搞的一点就是header的设置: "Content-Type:multipart/form-data;boundary=xxx" ...
- C# 应用 - 使用 HttpClient 发起上传文件、下载文件请求
1. 示例代码 using System; using System.IO; using System.Net.Http; /// <summary> /// 下载文件 /// </ ...
- Java基础知识强化之网络编程笔记11:TCP之TCP协议上传文本文件
1. TCP协议上传文本文件(客户端上传数据到服务器端) (1)客户端(上传数据到服务端) package cn.itcast_11; import java.io.BufferedReader; i ...
- Java ftp 上传文件和下载文件
今天同事问我一个ftp 上传文件和下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下.结果悲剧了,运行不通过.(装逼失败) 我找的文章链接: ...
- ie8 ajaxSubmit 上传文件提示下载
转载 解决ie下ajaxsubmit上传文件提示下载文件问题 主要是应为放回类型为json,返回text/html
- C# FileStream进行FTP服务上传文件和下载文件
定义FileStream类的操作类:操作类名: FtpUpDown 上传文件 /// <summary> /// 上传文件 /// </summary> /// <par ...
随机推荐
- TYVJ P3522 &&洛谷 P1135 奇怪的电梯 Label:bfs
题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开 ...
- TYVJ P3407 佳佳的魔法照片 Label:语文很重要 语文很重要 语文很重要
描述 佳佳的魔法照片(mphoto.pas\c\cpp) [题目背景] 佳佳的魔法照片(Magic Photo):如果你看过<哈利•波特>,你就会知道魔法世界里的照片是很神奇的.也许是因为 ...
- 如何在电脑上测试手机网站(补充)和phonegap
颜海镜 介绍了专业人士精准测试手机网站的经验 http://www.cnblogs.com/yanhaijing/p/3557261.html, 因为太专业了,稍显复杂和琐碎,这里我介绍下我一直关注的 ...
- 【搬运工】NOIP吧置顶贴
目的是存置顶贴里的链接.. 原帖:http://tieba.baidu.com/p/1753284199 资源站:*C++资源:http://tieba.baidu.com/p/1239792581* ...
- mysql的小总结
1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数 ...
- js 图片处理 Jcrop.js API
引入jquery.Jcrop.min.css和jquery.Jcrop.min.js 参数/接口说明 options 参数说明 名称 默认值 说明 allowSelect true 允许新选框 all ...
- Selenium_模拟淘宝登录Demo
package com.lkb.start; import com.alibaba.fastjson.JSONObject; import com.lkb.bean.Entity; import co ...
- 纪念逝去的岁月——C++实现一个栈(使用类模板)
这个版本是上个版本的加强版,上个版本的代码:http://www.cnblogs.com/fengbohello/p/4542912.html 目录 1.代码 2.运行结果 1.代码 1.1 调试信息 ...
- 推荐几本 Javascript 书籍
初级读物: <JavaScript高级程序设计>:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买. <J ...
- html5学习小结,float练习。
经过两天的H5学习之后,做了一下float属性的练习,要做出来的效果为: 下面为代码部分,所用到的知识不多,不过才现在刚开始,以后要学的东西还有很多,大家继续加油! <!DOCTYPE html ...