基于libcap的网络包分析问题集锦续(http post方式上传文件)
2012-08-09 16:28
369 查看
8. 批量上传时,是有多个post包还是只用一个post?
答:如果批量上传是以多个表单的方式,如下
这种方式批量上传,通过firefox的Httpfox抓包可以看到只有一次POST,每一个文件所处不同的表单,信息在包中用boundary分隔,如问题2中所述。
如果是按以下方式上传,就是一个文件打开框里可以选多个文件。
这样上传方式,监听到每一个文件对应一个POST,那每一次上传对应建立一次连接,然后上传完所有的文件(对应多个post包)还是每传一个文件建立一次连接,传完一个就断开,再传下一个的时候就新建连接?直观上的理解应该是建立一次连接,上传所有文件。
以多个表单的形式批量上传时,每个文件都是以boundary分隔,并且以如下形式开始:
Content-Disposition:form-data;name="photo1";filename="xxx.jpg"
Content-Type: image/jpeg
9. 如果同时多地方在上传文件,一个包中有没有可能包含几个文件的信息?
10. http post 上传的网络包的几种可能情况(包括并发上传的)
一次连接,一个post包,批量上传以多个form的形式提交
POST /cgi-bin/......
......
-----------------------------41184676334
Content-Disposition: form-data; name="photo3"; filename="3.png"
Content-Type: image/png
xxx
......
-----------------------------41184676334
Content-Disposition: form-data; name="photo4"; filename="4.png"
Content-Type: application/octet-stream
-----------------------------41184676334
Content-Disposition: form-data; name="photo5"; filename="5.png"
Content-Type: application/octet-stream
xxxx
...
-----------------------------41184676334--
一次连接,多个post包的批量上传(有先后顺序)
POST /cgi-bin/......
......
-----------------------------9040894219264
Content-Disposition: form-data; name="photo1"; filename="1.png"
Content-Type: image/png
xxx
......
-----------------------------9040894219264
...
POST /cgi-bin/......
......
-----------------------------7832161926446
Content-Disposition: form-data; name="photo2"; filename="2.png"
Content-Type: image/png
xxx
......
-----------------------------7832161926446
多次连接(肯定多个post包),在不同的地方同时上传(并发上传)
POST /cgi-bin/......
......
-----------------------------9040894219264
Content-Disposition: form-data; name="photo1"; filename="1.png"
Content-Type: image/png
xxx
......
POST /cgi-bin/......
......
-----------------------------7832161926446
Content-Disposition: form-data; name="photo2"; filename="2.png"
Content-Type: image/png
xxx
-----------------------------9040894219264
...
xxx
......
-----------------------------7832161926446
答:如果批量上传是以多个表单的方式,如下
这种方式批量上传,通过firefox的Httpfox抓包可以看到只有一次POST,每一个文件所处不同的表单,信息在包中用boundary分隔,如问题2中所述。
如果是按以下方式上传,就是一个文件打开框里可以选多个文件。
这样上传方式,监听到每一个文件对应一个POST,那每一次上传对应建立一次连接,然后上传完所有的文件(对应多个post包)还是每传一个文件建立一次连接,传完一个就断开,再传下一个的时候就新建连接?直观上的理解应该是建立一次连接,上传所有文件。
以多个表单的形式批量上传时,每个文件都是以boundary分隔,并且以如下形式开始:
Content-Disposition:form-data;name="photo1";filename="xxx.jpg"
Content-Type: image/jpeg
9. 如果同时多地方在上传文件,一个包中有没有可能包含几个文件的信息?
10. http post 上传的网络包的几种可能情况(包括并发上传的)
一次连接,一个post包,批量上传以多个form的形式提交
POST /cgi-bin/......
......
-----------------------------41184676334
Content-Disposition: form-data; name="photo3"; filename="3.png"
Content-Type: image/png
xxx
......
-----------------------------41184676334
Content-Disposition: form-data; name="photo4"; filename="4.png"
Content-Type: application/octet-stream
-----------------------------41184676334
Content-Disposition: form-data; name="photo5"; filename="5.png"
Content-Type: application/octet-stream
xxxx
...
-----------------------------41184676334--
一次连接,多个post包的批量上传(有先后顺序)
POST /cgi-bin/......
......
-----------------------------9040894219264
Content-Disposition: form-data; name="photo1"; filename="1.png"
Content-Type: image/png
xxx
......
-----------------------------9040894219264
...
POST /cgi-bin/......
......
-----------------------------7832161926446
Content-Disposition: form-data; name="photo2"; filename="2.png"
Content-Type: image/png
xxx
......
-----------------------------7832161926446
多次连接(肯定多个post包),在不同的地方同时上传(并发上传)
POST /cgi-bin/......
......
-----------------------------9040894219264
Content-Disposition: form-data; name="photo1"; filename="1.png"
Content-Type: image/png
xxx
......
POST /cgi-bin/......
......
-----------------------------7832161926446
Content-Disposition: form-data; name="photo2"; filename="2.png"
Content-Type: image/png
xxx
-----------------------------9040894219264
...
xxx
......
-----------------------------7832161926446
相关文章推荐
- 基于libcap的网络包分析问题集锦(http post方式上传文件)
- struts中post方式上传文件,enctype="multipart/form-data",request.getParameter("file") 是null的问题分析
- HttpClient PostMethod模拟带文件上传+普通字段的http请求(可解决文件为网络文件的问题)
- cur 以post的方式进行http上传文件(自定义http head)
- vc中如何通过http的post方式上传文件
- 原生java http方式上传大文件(含 文件流分段上传问题、base64分段转码问题解决思路)(转)
- httpclient post 上传文件及参数包括中文乱码问题方案
- [转载]http以post方式上传一个文件,构造其请求头和消息报文
- HTTP POST请求报文格式分析与Java实现文件上传
- Android中基于HTTP的通信技术(2)使用Http的Post方式读取网络数据
- HTTP POST请求报文格式分析与Java实现文件上传
- 用HttpListener做web服务器,简单解析post方式过来的参数、上传的文件
- 使用HttpURLConnection通过POST方式提交请求数据,并上传文件
- HTTP POST的文件上传问题
- [转载]http以post方式上传一个文件,构造其请求头和消息报文
- HTTP POST请求报文格式分析与Java实现文件上传
- 转:vc中如何通过http的post方式上传文件
- http以post方式上传一个文件,构造其请求头和消息报文
- WinForm使用webclient通过http的POST方式上传文件
- Android学习笔记---28_网络通信之通过HTTP协议实现文件上传,组拼http 的post方法,传输内容