防止外部代理或蜂窝提供商修改HTML

时间:2013-07-02 19:21:01

标签: javascript html ios web

所以我们有这个网站,据我所知,仅通过维珍移动3G蜂窝网络(在iPhone 4上),HTML页面的所有脚本和样式标签都在头部,src设置为文档中内联的URL。

仅切换到WiFi或使用具有不同蜂窝网络的设备(如AT& T),HTML页面不会改变。

我可以看到这是如何优化以加快页面的加载时间,但是我们的一个脚本只有在没有内联时才会起作用。

不使用蜂窝网络的示例响应:

<html>
  <head>
    <script type="text/javascript" src="http://oursite.com/script.js"></script>
  </head>
</html>

我们使用蜂窝网络获得了什么:

<html>
  <head>
    <script style="display: none">
      // The contents of http://oursite.com/script.js (this is bad)
    </script>
  </head>
</html>

这是真的吗,还是我疯了?有没有办法阻止细胞提供者内联我们的脚本元素?

3 个答案:

答案 0 :(得分:1)

添加Cache-Control:no-transform解决了这个问题。

答案 1 :(得分:0)

网络,尤其是移动网络,可以做各种各样的事情,包括内嵌内容,压缩(甚至调整大小)图形,以及transcoding。根据运营商的不同,您可能(或可能不)在请求和/或响应中设置一些标头以抑制部分或全部这些行为。

答案 2 :(得分:-1)

互联网服务提供商,网络主机甚至病毒软件都可能会破坏您的网页。在您的情况下,移动提供商可能正在这样做 - 或者浏览器正在使用优化页面的代理。

您运行的代码无法处理内联?也许它可以调整,以允许它以任何方式工作?