当我使用html表单制作“Content-Type:multipart / form-data”POST请求时,字段始终按照HTML中列出的顺序显示。在实践中,所有浏览器都这样做吗?
想要了解这一点的主要动机是,我可以对表单数据进行服务器端验证,而无需在RAM中缓存整个 HTTP请求。磁盘第一。
我知道CGI,PHP等通常不会做任何事情直到上传完成。可能是因为RFC 2388第5.5节通过说订单没有定义来解决这个问题。我正在使用高度自定义的thttpd分支,并处理内置于服务器内置的C代码。所以我不关心大多数服务器做什么。
我想知道的是,如果我走出困境并接受命令,我会被这个假设烧伤吗?
以此表格为例:
<form id="formUpload"
target = "uploadTarget"
method = "post"
action = "/bin/upload"
enctype= "multipart/form-data" >
<input type="hidden" id="inUser" name="user" />
<input type="hidden" id="inDest" name="dest"/>
<input type="file" id="inFile" name="file" />
<input type="button" value="Upload" onclick="uploadFile();" />
<iframe id="uploadTarget" name="uploadTarget" src="" style="width:0;height:0;border:0px"/>
</form>
'uploadFile()'功能将填写用户&amp;调用submit()之前的dest字段。我想验证用户和&amp;在recv()
整个HTTP请求主体之前,还有dest服务器端。
答案 0 :(得分:23)
是:
部件以相同的顺序发送到处理代理程序,相应的控件出现在文档流中。部分边界不应出现在任何数据中;如何做到这一点超出了本规范的范围。