【问题标题】:How to know if incoming requests are asking for HTML in express.js (rather than CSS, JS, etc)如何知道传入的请求是否在 express.js 中请求 HTML(而不是 CSS、JS 等)
【发布时间】:2015-08-08 08:50:21
【问题描述】:

如何检查 express.js 中的传入请求是否要求 HTML?与 CSS、JS、图像等其他静态资产不同。

我想做的是在包含大写字母的路径上强制重定向(强制路径为小写),这样我就不会出现重复的链接。

我不希望这影响对图像、CSS 表格、PDF 等静态资源的请求。

【问题讨论】:

    标签: javascript html node.js http express


    【解决方案1】:

    一般来说 - 你不能。

    Accept 请求标头可以为您提供客户端将接受的类型列表,但通常包括通用通配符。

    您可以在处理程序级别处理此问题(并在您使用 HTML 响应的路由中测试 URL 中的大写字符)。

    也就是说 - 我不明白您为什么要避免重复 URL 指向 HTML 文档而不是其他类型的文件。

    【讨论】:

    • 这只是不必要的。 Camelcased JS 文件没有害处,其中包含大写字母的 pdf 文件也没有害处。这些文件的名称可能不会更改,但可以键入或共享网站页面的 URL。
    • @Costa - 那又怎样?您是否担心谷歌还没有弄清楚如何进行安全不敏感的字符串比较?
    • 嗯...我不应该吗?我读过关于 SEO 的影响?他们不是成立的吗?
    • @Quentin @RobertLevy,我可以用<link href="http://domain.com/canonical-version-of-page/" rel="canonical" /> 来表示重复的内容吗?
    猜你喜欢
    • 2017-03-16
    • 2017-06-16
    • 1970-01-01
    • 2021-04-04
    • 2011-04-21
    • 2014-05-06
    • 2011-11-24
    • 2015-09-16
    • 2013-05-08
    相关资源
    最近更新 更多