当内联javascript执行时,web浏览器是否保持web服务器连接?
does a web browser hold onto a web server connection while inline javascript is executing?
例如,如果我写了以下代码,其中包含一个第三方javascript的链接,而它需要1秒加载:
<!DOCTYPE>
<html>
<head>
</head>
<body>
// note no async attribute!
<script src="//thirdparty.com/some/slow/loading/script.js">
</script>
</body>
</html>
到我的web服务器的http连接将保持打开,直到文档结束?
更新:我不是在Connection: Keep-alive的上下文中讨论,这显然会在页面加载后保持连接。我指的是这样一个事实,即浏览器在执行内联javascript时可能还没有完全从服务器读取文档的内容,那么它仍然会保留其连接以继续读取文件的其余部分,还是已经读取但尚未添加到DOM?
不,直到文档被完全解析后连接才保持打开。
文档在被解析时,以及外部脚本被请求、加载、解析和执行时,将继续加载。浏览器在读取文档时不会暂停,因为它现在不需要更多的数据来解析,或者因为它正在加载其他东西。它仍然会继续在后台加载文档。
打开的连接是一种比内存更昂贵的资源,因此浏览器最好尽快将所有数据读取到内存中,而不是保持连接打开以便在需要数据时从中读取。
浏览器将首先开始加载文档。一旦它解析了<script>
标记,它就会与第三方服务器建立连接,并开始从那里加载JS。当主页加载完成后,将关闭与服务器的连接。然而,只要有东西(例如JS)正在加载,浏览器就会显示加载图标,并且在加载完所有内容后,它也会调用window.onload
。
相关文章:
- 是否存在React Native“;WEB代码安全防护”;
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- Web 工作线程中的同步 XHR 请求是否仍会锁定浏览器
- 是否可以将 ASP.NET Web 应用程序上载到 VMware 上的虚拟 2008 服务器上
- 是否可以在没有 .NET 4.5 主机的情况下使用当前 Web 套接字
- Web视图中的远程网站是否可以与Phonegap结合使用
- 从 Web Worker 执行 AJAX 请求是否可行
- 使用Java脚本跟踪网页中是否有Ajax请求,或者通过Selenium Web驱动程序拦截XMLHttpRequest
- JQuery在执行速度上是否有任何缺点,这些缺点在大规模的web应用程序中可能会很明显
- 是否可以在没有视图状态和回发的情况下使用asp.net web表单
- 使用JSONP内容压缩web服务响应是否有效
- web应用程序是否可以打开客户端上存在的pdf文件
- AngularJS web服务是否应返回响应的深层副本
- HTML5 Metro应用程序是否可能使用PHP中的web服务
- 没有这样的元素:找不到元素:正在验证web元素是否丢失
- 是否有JavaScript或可能的Python/Django web服务来对街道地址进行地理编码
- web js中是否存在等待或睡眠命令
- 无法连接到网络服务器.验证 Web 服务器是否正在运行,并且传入的 http 请求未被防火墙阻止
- JqueryMobile布局是否同时在Web和移动设备上运行