首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PerformanceObserver无法测量重定向请求计时

PerformanceObserver无法测量重定向请求计时
EN

Stack Overflow用户
提问于 2019-05-15 23:55:57
回答 1查看 113关注 0票数 1

我一直在使用PerformanceObserver来测量网络请求的时间。虽然它看起来还不错,但我还是发现了一些问题:

  1. 如果网络请求被服务器重定向(基本上服务器将响应头作为Location: "same-origin-different-url"返回),则资源计时仅包括从发出请求到服务器发送响应码302的时间。因此,跳过重定向的URL,并且在performance.getEntriesByType('resource')返回的所有资源条目中都找不到它。此外,另一个注意事项是,redirectStartredirectEnd属性不包括重定向的URL时间,因为它被重定向到相同的源more info。那么,有没有办法计算重定向的网址计时呢?
  2. 一些网络请求需要一些时间进行域名解析查找,我可以在Chrome ->网络->计时窗口中观察到这些域名解析时间。但是,相同的请求被PerformanceObserver观察到,在domainLookupStartdomainLookupEnd上总是返回0。因此,计时与Chrome网络计时工具不匹配。对此有什么想法吗?

如果有人遇到这些问题并找到了解决方法,我将非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2019-05-23 05:43:18

仔细阅读documentation之后,我发现响应报头必须包含Timing-Allow-Origin报头。否则,这些属性将返回0。使用Charles proxy添加此标头后,我没有看到任何问题。

跨域资源必须作为PerformanceResourceTiming对象包含在性能时间线中。如果timing allow检查算法对资源执行失败,则必须将其PerformanceResourceTiming对象的以下属性设置为零:redirectStart、redirectEnd、domainLookupStart、domainLookupEnd、connectStart、connectEnd、requestStart、responseStart、secureConnectionStart、transferSize、encodedBodySize和decodedBodySize。

Timing-Allow-origin header字段可用于传送指示允许看到由于跨来源限制而为0的属性的值的来源的策略。标头的值由下面的ABNF RFC5234表示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56153376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档