我想使用内容类型Multipart呈现网页,但我的嗅探器日志始终显示网页上图像的多个GET请求。如何指定多部分HTML代码,以便通过1 GET请求下载
这里是我的测试代码:
<!DOCTYPE html>
<html>
<head>
<title>multipart/form-data</title>
<header><h2>Testing multipart/form-data</h2></header>
<META HTTP-EQUIV="Content-Type" CONTENT="multipart/related; charset=ISO-8859-1"/>
</head>
<body>
Text outside the <form> tag.
<form
enctype="multipart/form-data"
method="POST"
action="/php/showPostGet.php" > <!-- The enctype attribute can only be used if method="post". -->
Text inside the <form> tag.<br />
<input type="submit" value='TEST'/><br>
<form enctype="multipart/text/plain">
Name1: <input type="text" name="fname" value="ABC"><br>
Name2: <input type="text" name="lname" value="123"><br>
</form>
<br />
<img src="/images/arrow_left.jpg" alt="left">
<img src="/images/arrow_right.jpg" alt="right">
<img src="/images/arrow_up.jpg" alt="up">
<img src="/images/arrow_down.jpg" alt="down">
<br/>
</form>
</body>
<br/>
</html>
当我做了刷新该网页上,我希望看到一个GET请求,但我看到多个GET请求(一个用于主网页和一个为一个图像文件)。 这样的:
7 10.738337 163.64.287.173 10.235.5.146 HTTP GET /mdg/HTML/FileUpload/Andy/multipart-form-data.html HTTP/1.1
9 10.739553 10.235.5.146 163.64.287.173 HTTP HTTP/1.1 200 OK (text/html)
Content-Type: text/html; charset=ISO-8859-1\r\n
<META HTTP-EQUIV="Content-Type" CONTENT="multipart/form-data; charset=ISO-8859-1"/>
17 12.945487 163.64.287.173 10.225.57.136 HTTP GET /images/arrow_left.jpg HTTP/1.1
19 12.946704 10.225.57.136 163.64.287.173 HTTP HTTP/1.1 200 OK (JPEG JFIF image)
Content-Type: image/jpeg\r\n
28 14.816313 163.64.287.173 10.225.57.136 HTTP GET /images/arrow_right.jpg HTTP/1.1
30 14.817529 10.225.57.136 163.64.287.173 HTTP HTTP/1.1 200 OK (JPEG JFIF image)
Content-Type: image/jpeg\r\n
41 17.196125 163.64.287.173 10.225.57.136 HTTP GET /images/arrow_up.jpg HTTP/1.1
43 17.197342 10.235.5.146 163.64.287.173 HTTP HTTP/1.1 200 OK (JPEG JFIF image)
Content-Type: image/jpeg\r\n
51 19.060141 163.64.287.173 10.225.57.136 HTTP GET /images/arrow_down.jpg HTTP/1.1
53 19.061358 10.225.57.136 163.64.287.173 HTTP HTTP/1.1 200 OK (JPEG JFIF image)
Content-Type: image/jpeg\r\n
我期望看到1个get请求,随后几个OK/CONTINUATION消息(与 '边界=' 数据)。 像这样(从另一个网站):
901 15:36:40.100491 10.277.7.10 72.253.197.19 HTTP GET /app/WT/default.aspx?vtbl=1&debugds=320&vzmw3=vzmw3 HTTP/1.1
903 15:36:40.317813 72.253.197.19 10.277.7.10 HTTP HTTP/1.1 200 OK
Content-Type: multipart/mixed; boundary=next.part.8412f441-e4ea-4554-8400-9a003df2f78f\r\n
Content-Type: multipart/mixed; boundary=next.part.8412f441-e4ea-4554-8400-9a003df2f78f\r\n
MIME Multipart Media Encapsulation, Type: multipart/mixed, Boundary: "next.part.8412f441-e4ea-4554-8400-9a003df2f78f"
First boundary: --next.part.8412f441-e4ea-4554-8400-9a003df2f78f\r\n
Content-Type: text/html; charset=utf-8\r\n
905 15:36:40.319315 63.64.187.229 97.253.137.46 HTTP HTTP/1.1 200 OK
Content-Type: multipart/mixed; boundary=next.part.8412f441-e4ea-4554-8400-9a003df2f78f\r\n
Content-Type: multipart/mixed; boundary=next.part.8412f441-e4ea-4554-8400-9a003df2f78f\r\n
906 15:36:40.320116 72.253.197.19 10.247.7.10 HTTP Continuation
您如何期待它下载图像而不发送GET请求? – Barmar
多部分MIME类型仅适用于电子邮件,而不适用于网页。 – Barmar
这仅测试在页面加载/刷新时,multipart是否导致1个GET请求或多个GET请求。 所有桌面浏览器在加载页面时都会忽略多部分并发送几个GET请求。但是,我有一个较旧的Brew翻盖手机,并且此手机支持多部分/表单数据,所以我期望1个GET请求以及来自服务器的一个或多个连续(200)响应。 –