[英]Spring ResponseBodyEmitter doesn't set Content-Type header in a response
[英]Keep the space after semicolon in Content-type header response using tomcat
我们有一个旧客户端,它使用了部署在tomcat 8.5上的servlet。 该旧客户端正在等待这种格式的内容类型标头响应(注意分号和“字符集”之间的空格):
Content-type: text/xml; charset=utf-8
但是,在服务器端,Tomcat总是在修剪此空白,尽管我们在servlet中强制使用了它:
response.setContentType("text/xml; charset=utf-8");
甚至在带有HttpServletResponseWrapper
的自定义扩展名的过滤器中,如本问题所示 。
无论我尝试什么,都总是返回内容类型标头而不带空格。
Content-type: text/xml;charset=utf-8
作为参考,我在tomcat官方文档中找到了这一点:
Tomcat删除';'之间的空白字符 和'charset'关键字
我知道HTTP标准说分号后的空格是可选的,正如在另一篇SO文章中提到的那样,但是由于有问题的客户端运行的是旧版,我想知道是否有任何方法可以强制tomcat保留此空格。
我正在考虑其他选择,例如修改apache或nginx(在tomcat之上)的content-type标头,但是如果可能的话,我更喜欢在tomcat级别的解决方案。
任何帮助,将不胜感激。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.