与RFC 2047 RFC 2388多冲突后的服务器实现?(Server implementatio

2019-08-03 08:59发布

我想实现一个HTTP服务器上的RFC 2388,支持多POST。

我在内容部署的“名称”参数专门盯着规范。

在RFC 2388的第3节就指出:

在非ASCII字符集最初字段名称可以使用RFC 2047中描述的标准方法的“名称”参数的值的范围内进行编码。

我也“听到”没有UA目前支持表单控件名称RFC2047。 他们只会在它的原始编码发送文本。 (即如果窗体控件的名称使用UTF-8是在日本,它会发送一个用UTF-8的日文文本的多POST请求)

然而,在被“忠实”,这会1天得到解决的兴趣。 我喜欢粘在RFC。

这个问题虽然,来自RFC 2047本身。 根据第5(3)的规定:

  • 一个“编码字”不能出现在“地址规格”的任何部分。
  • 一个“编码的字”不能一“引用的字符串”出现。
  • 一个“编码字”不能在所接收的报头字段中使用。
  • 一个“编码字”不能在一个MIME内容类型或内容处置场的参数一起使用,或以任何结构字段体除了一个“注释”或“短语”内。

冲突是在第4弹点。 鉴于“名称”参数是“内容处置”字段的一部分。 我发现自己失去了,以什么规格要我们实现者的事。

无论什么样的工作/不“现实”的工作。 我想问问是否有人发现这种冲突也是如此。

我发现自己还问为什么RFC 2388仍参考RFC 2047的“姓名”参数,但只是一对夫妇的段落以后然后参见RFC 2231作为“文件名”参数的编码规范。 鉴于RFC 2047不能用于“参数值”这就是为什么RFC 2231显然是创建。 如果RFC 2388,使“名”参数使用RFC 2231没有被更新。

底线是,我应该,或者我不应该与实施RFC 2047在所有的fulfiling它的功能RFC 2388的目的麻烦? 并应我还甚至RFC 2231的“文件名”参数烦恼呢? 有谁知道RFC 2231是否正在使用任何的UA上传非ASCII文件名?

Answer 1:

我真的不认为这是一个矛盾。 请注意,RFC 2047

描述...技术,以允许在一个RFC 822消息报头的各个部分的非ASCII文本的编码,其方式不大可能混淆现有消息处理软件。

RFC 2388是不是要导入所有的假设/ RFC 2047的情况下,编码的仅仅是方法。 因为“零件”在这里被编码实际上是顶级“的multipart / form-data的”部分的孩子,我不认为是有意义的尝试和应用RFC 2047的关于邮件头这些部件的规则。



文章来源: Server implementation of RFC 2388 multipart POST conflict with RFC 2047?