Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是Http头中的特殊字符;名称“;有效吗?_Java_Http_Web Applications_Web_Http Headers - Fatal编程技术网

Java 是Http头中的特殊字符;名称“;有效吗?

Java 是Http头中的特殊字符;名称“;有效吗?,java,http,web-applications,web,http-headers,Java,Http,Web Applications,Web,Http Headers,我最近使用自定义头来覆盖web应用程序的行为(a-b测试分配),以便通过浏览器进行测试。它的工作原理是,如果应用程序代码检测到具有特定命名约定的头名称,它将处理它们,并相应地采取行动 该功能在本地主机和其他内部环境(如qa)上工作。但当它上线时失败了(我们的应用程序是一个运行在tomcat上的公共网站,语言是Java 7;qa环境使用相同的技术) 根本原因是标题“命名”约定中有特殊字符,如点(.)和感叹号(!)。我感到非常困惑的是,它在内部环境中却能完美地工作,而在生产环境中却不能。你知道怎么回

我最近使用自定义头来覆盖web应用程序的行为(a-b测试分配),以便通过浏览器进行测试。它的工作原理是,如果应用程序代码检测到具有特定命名约定的头名称,它将处理它们,并相应地采取行动

该功能在本地主机和其他内部环境(如qa)上工作。但当它上线时失败了(我们的应用程序是一个运行在tomcat上的公共网站,语言是Java 7;qa环境使用相同的技术)

根本原因是标题“命名”约定中有特殊字符,如点(.)和感叹号(!)。我感到非常困惑的是,它在内部环境中却能完美地工作,而在生产环境中却不能。你知道怎么回事吗


如果标题名称中没有特殊字符,我验证了生产代码是否有效。

中定义了有效字符;“!”和“.”都是有效的。

谢谢,我来看看。但它在某些环境下是如何工作的,比如localhost?因为服务器实现的质量不同?头名称中允许有一个句号。tchar=“!”/“#”/“$”/“%“/”&/“*”/“+”/“-“/”/“/”/“^”/“/”/“/”/“~”/位/字母