我在 tomcat 中部署了一个 Web 应用程序。应用程序中的几乎所有页面都需要 HTTPS,除了索引页面和其他一些页面。当我访问任何需要 HTTPS 的页面时,浏览器总是使用 HTTPS。当我访问不需要 HTTPS 的页面时,浏览器有时使用 HTTP,有时使用 HTTPS,主要取决于来源。我的问题是我是否可以强制浏览器对那些不需要加密的页面使用 HTTP(不带 s)。
这是我的 web.xml 中决定哪些资源需要加密的部分。
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Open</web-resource-name>
<url-pattern>/</url-pattern>
<url-pattern>/contact</url-pattern>
<url-pattern>/robots.txt</url-pattern>
<url-pattern>/sitemap.xml</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>