触发tomcat内容类型检测

触发tomcat内容类型检测,tomcat,configuration,mime-types,content-type,Tomcat,Configuration,Mime Types,Content Type,我有一个在tomcat内部运行的应用程序。 在我的应用程序中,我有一些静态文件,我想提供正确的内容类型 我发现conf/web.xml中有很多已经定义的类型 但是当我检查服务器的响应时,我没有定义内容类型。 通过检查响应,我的意思是查看chrome开发工具上的响应头 问题是我需要检测并正确应用这些内容类型,以便使用tomcat ExpiresFilter 有人知道我的错误是什么吗 -编辑 我刚刚注意到,如果未设置expires筛选器,则内容类型定义正确 -编辑2 我刚刚读到304响应没有内容,所

我有一个在tomcat内部运行的应用程序。 在我的应用程序中,我有一些静态文件,我想提供正确的内容类型

我发现conf/web.xml中有很多已经定义的类型

但是当我检查服务器的响应时,我没有定义内容类型。 通过检查响应,我的意思是查看chrome开发工具上的响应头

问题是我需要检测并正确应用这些内容类型,以便使用tomcat ExpiresFilter

有人知道我的错误是什么吗

-编辑

我刚刚注意到,如果未设置expires筛选器,则内容类型定义正确

-编辑2

我刚刚读到304响应没有内容,所以在这些响应中没有内容类型

-编辑3

所以我的问题与ExpiresFilter无关。 问题是304响应没有主体,因此无法定义contentType。 但是expiresFilter不能对响应头执行任何操作。 由于我的资源位于受限区域,expirations标头设置为epoc。
是否有办法绕过此问题???

使用mime映射根据文件扩展名定义内容类型:

<mime-mapping>
    <extension>abs</extension>
    <mime-type>audio/x-mpeg</mime-type>
</mime-mapping>

防抱死制动系统
音频/x-mpeg
参考资料


如果客户机发送了一个If-Modified-Since头,那么客户机可能已经有了资源的副本,并且知道它是什么类型的。服务器回复为304,表示“您的副本是最新的AFAIK”,因此客户端可以。。利用现有资源,随心所欲。客户端是否没有资源的现有副本?如果没有,则在修改后不应发送。