在浏览器中加载页面时,它会显示加载页面时加载的百分比。 与使用XMLHttpRequest(XHR)执行AJAX请求时相同,它允许您查看加载百分比。
我很好奇这个功能是如何在幕后实现的。客户如何知道预先收到的数据大小?就个人而言,当我使用Node.js创建我的Web服务器时,我没有手动实现这样的功能,比如在每个毫秒间隔内向客户端发送加载百分比等等。
这一切是如何运作的?
答案 0 :(得分:2)
当浏览器从服务器请求资源时,在大多数情况下,服务器会在下载开始之前回复所请求资源的大小。 For Example:
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
ETag: "3f80f-1b6-3e1cb03b"
Content-Type: text/html; charset=UTF-8
Content-Length: 131
Accept-Ranges: bytes
Connection: close
<html>
<head>
<title>An Example Page</title>
</head>
<body>
Hello World, this is a very simple HTML document.
</body>
</html>
在上面的服务器响应中,给出了所请求资源的长度,因此客户端将知道要读取的字节数。这允许客户端显示有意义的进度指示器。