我有一个由IE10发送的POST请求的wireshark捕获。由RFC 1867指定的POST请求发出,它包括一个boundary
:IE10发送非法POST请求吗?
Content-Type: multipart/form-data; boundary=945637143527273; charset=UTF-8
什么令我很奇怪的是令牌
boundary=945637143527273;
当我看到后
charset=UTF-8
部分在RFC的Examples
部分,Content-Type
标题始终由边界终止,并且没有trailin g数据,如charset
。
那么,有没有一些附加的规范允许这样的行为,应该忽略尾随数据还是我(作为符合规范的HTTP服务器)放弃请求并向客户端发送错误?
编辑:该主题进一步的调查使我这样一个问题:
What rules apply to MIME boundary?
接受的答案是指了其中边界被规定如下:
boundary := 0*69<bchars> bcharsnospace bchars := bcharsnospace/" " bcharsnospace := DIGIT/ALPHA/"'"/"("/")"/ "+"/"_"/","/"-"/"."/ "/"/":"/"="/"?"
因此,由于bcharsnospace
不包含;
,charset=UTF-8
部分显然不属于边界。在这种情况下,我应该忽略它吗?或者这对于Content-Type
标题是无效值?
SubValue *(parameters)* order无关紧要。你用';'打破并用'='分开来得到Header的SubValues。然后你只需参考“边界”值和“字符集”值......不管他们的顺序如何。 – CodeAngry