如何从Tomcat web服务器读取浏览器头序列?



我已经开始对浏览器指纹感兴趣了。据我所知:"每个浏览器的标题顺序是固定的,不能在浏览器设置中更改。"所以,……首先,我想按照浏览器发送的顺序读取浏览器标头。

我已经尝试了普通Java的"request.getHeaderNames()",但这确实不是提供正确的顺序。

所以我的问题是:我如何从Tomcat web服务器读取浏览器头序列?

servlet API独立于http-header的顺序,并且tomcat——正如您已经发现的——解析header并将它们存储在没有特定顺序的映射中。

如果你对请求的原始内容感兴趣,你必须替换tomcat的解析代码-例如,找到头被解析的位置并改变该行为。一旦tomcat完成了解析,我怀疑您无法倒回输入流并再次读取原始头文件。然后,您需要将它们存储在一个保留标题顺序的映射中,或者将特定的请求属性与原始数据一起保存,以便您的应用程序以后可以使用。

在任何情况下:如果您使用Tomcat完成此任务,则必须深入研究它的实现。

最新更新