Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在web浏览器中显示web数据?_Javascript_Html_Css_Browser_Client Side - Fatal编程技术网

Javascript 如何在web浏览器中显示web数据?

Javascript 如何在web浏览器中显示web数据?,javascript,html,css,browser,client-side,Javascript,Html,Css,Browser,Client Side,我以前在Mozilla的网站上读过这篇文章,我有一个关于客户端代码如何工作的问题 您可能还会听到服务器端和客户端代码这两个术语,特别是在web开发环境中。客户端代码是在用户计算机上运行的代码-查看网页时,下载网页的客户端代码,然后在浏览器中运行和显示。在这个JavaScript模块中,我们明确地讨论了客户端JavaScript 当代码被“下载”并通过浏览器运行和显示时,代码下载到哪里?它是临时下载或存储在用户计算机上的,还是永久的 文件被下载并存储在缓存中并显示。这些文件是html、css、JS

我以前在Mozilla的网站上读过这篇文章,我有一个关于客户端代码如何工作的问题

您可能还会听到服务器端和客户端代码这两个术语,特别是在web开发环境中。客户端代码是在用户计算机上运行的代码-查看网页时,下载网页的客户端代码,然后在浏览器中运行和显示。在这个JavaScript模块中,我们明确地讨论了客户端JavaScript


当代码被“下载”并通过浏览器运行和显示时,代码下载到哪里?它是临时下载或存储在用户计算机上的,还是永久的

文件被下载并存储在缓存中并显示。这些文件是html、css、JS、图像等。
服务器端是php等,这些不是下载的,它们仅在服务器上执行

所有浏览器在本地文件系统的某处都有一个目录,其中存储下载的脚本、样式表、图像等。这些是临时的,用户可以通过浏览器的相应功能删除,例如Google Chrome上的“”


.

在客户端,HTML、CSS和JavaScript代码以及图像和视频等资产将存储在某种内存中,通常是主RAM。通常在您关闭选项卡或选项卡处于非活动状态时,会立即回收此内存

对图像等资源进行解码后,可以将其复制到GPU内存中,以便更快地渲染。3D代码也可以转换为图形卡指令,并临时驻留在图形卡上

如果内存不足,操作系统可能会将其换出磁盘。请仔细阅读以了解更多细节

浏览器在磁盘上有缓存。这通常不会在第一次呈现期间使用(因为在呈现页面之前,您必须在磁盘上等待),但会加快将来的请求。作为程序员,您可以设置HTTP和。由浏览器决定何时删除缓存文件。通常,当它们变得陈旧、陈旧、达到最大缓存大小限制或用户手动删除它们时,会将其删除。是否以及如何准确执行缓存取决于浏览器和用户的配置

也可以缓存。一些大型组织使用它们来减少和控制互联网流量。在这种情况下,代码从服务器下载一次到代理,然后从代理下载到每个客户端

存储在磁盘上的时间通常较长。与浏览器缓存不同的是,离线web应用程序不应该被浏览器删除,但实际的浏览器可能会有不同的行为。当用户输入脱机web应用程序的URL时,会在发送新版本请求之前从磁盘加载该URL。相反,对于普通浏览器缓存,资源要么存在于磁盘上(如果HTTP头不正确,则会过时),要么已下载

也可以由网站安装以拦截HTTP请求,就像离线web应用程序一样。他们可以在磁盘上存储和加载代码/资产


总之,代码存储的位置取决于许多因素。根据当前计算体系结构的性质,代码将在某个时间出现在主内存中。幸运的是,您的web应用程序很少需要关心代码的实际位置——浏览器会自动为您提供代码。不过,通过配置缓存头和使用脱机web应用程序或服务人员,您可以获得性能提升,并确保您的网站即使在Internet不可用的情况下也可用

如果您想知道实际网站中缓存了哪些资源(至少在您的设置中),可以使用web浏览器的开发人员工具(在许多系统上都可以通过F12访问)。例如,这就是在Chrome上加载启用缓存的页面:


注意列的大小,如果文件来自哪个缓存(Chrome在内存中有一个,在磁盘上有一个)。谢谢。如果你去“YouTube”看一段视频的话,再进一步说一下。视频也是临时下载的吗?不,据我所知,这些视频是流式传输的,它们不会在本地系统上留下临时文件。并非所有浏览器的文件系统上都有一个目录。例如,elinks没有任何缓存。此外,还可以配置现代浏览器,以便永久禁用缓存。此外,在匿名/私人浏览模式下,它们通常不缓存(至少不在磁盘上)。谢谢,假设您启用了浏览器缓存。浏览器是否缓存所有html、css、js等文件?还是更具选择性,只缓存一些文件而不是其他文件?举个例子,假设你在FaceBook上,每个状态帖子都会动态加载到页面中。它们是下载到RAM中还是缓存中,还是两者兼而有之?@Bail3y首先,所有东西都下载到网卡上。从那时起,它就被解密了。在当前的计算体系结构中,这种情况发生在RAM中,但没有理由不能直接发生在CPU、专用加密卡或未来的网卡上(理论上)。然后,缓存一些资源,而不缓存其他资源。这取决于HTTP头和浏览器配置。请按照此答案中的链接进行操作-例如,访问以了解更多技术细节。