【问题标题】:Is a bad idea to use HTMLUnit to every first HttpRequest?对每个第一个 HttpRequest 使用 HTMLUnit 是一个坏主意吗?
【发布时间】:2013-01-17 10:49:18
【问题描述】:

我有一个用于我的 java 后端的 ajax 前端,为了让抓取和HTML5 pushState 能够正常工作,我将使用HtmlUnit 来处理每个第一个请求中的 javascript。

我可以使用过滤器解决方法,不使用HtmlUnit 尝试减少服务器负载。

不管浏览器兼容性如何,哪个最适合服务器?

【问题讨论】:

  • Google 推荐这种方法 - 请参阅 developers.google.com/webmasters/ajax-crawling/docs/… 上的第 3 点,尽管我想这取决于您生成了多少内容。
  • 我所有的内容都是 javascript 生成的,我只有一个 html 文件,我将模板插入其中,带有 Backbone 和下划线。
  • Google 的方法是使用 hashbang,但我使用 pushState,这就是问题所在。 PushState 要求对服务器的第一个请求返回完全处理的 html 文件。

标签: java javascript ajax htmlunit web-crawler


【解决方案1】:

经过大量研究和测试,我可以看出在服务器端处理繁重的 javascript 应用程序并不是一个好主意,HtmlUnit 是最好的工具,但它不能很好地完成工作,所以如果你的要求是支持不支持 javascript 的客户端,所以选择 PHP 或其他一些服务器端脚本语言或者 JSF。

我的情况是,我在 JAX-RS 中有一个后端,并且我设法支持 HTML5 pushState,而无需在服务器端处理 javascript,并假设客户端处理 javascript,HtmlUnit 仍在使用以启用可抓取性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2017-01-20
    • 2012-10-15
    • 2011-10-10
    相关资源
    最近更新 更多