【发布时间】:2013-06-21 04:56:27
【问题描述】:
为了减少我们网站上的请求数量,我们使用 CSS 数据 URI,而不是链接到外部图像。出于某种原因,这些数据 URI 有时仍会被记录为针对我们服务器的 404 请求。为什么会发生这种情况?
随机细节:
- 我们正在使用Splunk进行跟踪
- 发生在多个数据 URI 上
- 在所有浏览器上发生
- 在我们网站的多个页面上
- 我们的 QA 无法重现该问题
- 以下是来自特定数据 URI 的结果
- 相关 CSS 文件 - (http://c.mfcreative.com/lib/tgn/combo.ashx?14/css/v1/main.css)
- 同一文件的未压缩版本 - (http://c.mfcreative.com/lib/tgn/combo.ashx?14/css/v1/main.css&minify=false 参见第 35 行
相关CSS:
body{background:#e2decd url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGuCAIAAADeSvtRAAAAfUlEQVQ4y9WTzQ7AIAiD+fr+rzzYSeOWGP+z7MABwVJstYiQmf02zvP3yrk2442Gqvijb9LT34tJ7vVP5u/zTBzDP113n/eYCv3ec1IOLGjn1bu9+K0zQEad/4r/iMj8dvLfVqetfcsf5X6z/y7ieuVk/SU19wMesxMXQMANapSO6rYFQnIAAAAASUVORK5CYII=) repeat-x 0 0}
查询以查看我们所有的 404 错误(前 10 个 404 错误中有 5 个数据 URI):
sourcetype=iis* host=prd*ssscdn* sc_status=404 | top 100 cs_uri_stem
生成下图的查询:
sourcetype=iis* host=prd*ssscdn* sc_status=404 cs_uri_stem="/lib/tgn/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGuCAIAAADeSvtRAAAAfUlEQVQ4y9WTzQ7AIAiD+fr+rzzYSeOWGP+z7MABwVJstYiQmf02zvP3yrk2442Gqvijb9LT34tJ7vVP5u/zTBzDP113n/eYCv3ec1IOLGjn1bu9+K0zQEad/4r/iMj8dvLfVqetfcsf5X6z/y7ieuVk/SU19wMesxMXQMANapSO6rYFQnIAAAAASUVORK5CYII="
任何帮助/指导将不胜感激!
alt text http://www.jasonbuckboyer.com/playground/blah/data-uri-404-error1.png
【问题讨论】:
-
数据 uri 不会以 data: 而不是 lib/ 开头吗?
-
如果它与 url 重写有关,你应该过滤它不要被重写,无论是在服务器还是 Splunk 配置(我不知道如何设置)。我猜听起来很明显:)
-
我的一个客户也在非 IIS 服务器上看到了这一点。他们以 /lib/tgn/ 开头的原因是因为这是 CSS 文件的相对路径;如果他(?)将 CSS 放在他的根目录中,那么数据 URI 请求将遇到 /data:image/png[...]
标签: css request http-status-code-404 data-uri splunk